2011-08-24 33 views
1

編輯原有什麼理由說你爲什麼要在CSS中聲明一個帶有ID的HTML選擇器?

如何申報div#test來聲明,把它當成#test不同的版本?還可以予以相同樣式聲明兩者的即

#div test { 

} 

#test { 

} 

原始問題

如果我聲明以下樣式div#test如何是不同於引用div元件與ID test例如<div id="test">content</div>

編輯

爲了澄清我的意思是,如何div#test不同的只是#test然後引用它在div元素。

+0

有什麼問題到底是什麼?一個是CSS選擇器,一個是HTML片段.... –

+0

我不明白你的問題。你的句子的第一部分描述了你如何在CSS中引用這樣一個div,第二部分是div本身的HTML。 –

+0

@Chris Farmer - 我編輯了我的問題,希望我已經澄清了我正在嘗試理解的內容。 – PeanutsMonkey

回答

4

它使一個感覺,如果你有全局CSS爲每個頁面和一個頁面上添加#TEST到DIV元素和其他一些網頁上添加它頁。在這種情況下,即使p有id #test,如果使用div#test代替#test,css規則也不會被應用到它。然而

或許你應該考慮重新命名這種相互矛盾的元素,但並不總是有可能(例如你是不是唯一一個誰用HTML和CSS或一些外部插件的工作,等等)。當然這不是很好的保護,但是,在某些特定情況下可能會有意義。

+0

對,如果我聲明'div#test',這隻適用於'div'元素,即使我使用'test'分配了'p'? – PeanutsMonkey

+0

這也意味着我可以在CSS樣式表中聲明'div#test'和'#test'嗎? – PeanutsMonkey

+0

+1有趣的觀察加上使用這種技術的警告。 –

1

的ID必須是唯一的什麼都沒有。儘管在外部樣式表中它可能允許讀者知道這適用的元素的類型。

+0

爲什麼它很重要的元素類型是引用如果該元素有說'test'在這個例子中的ID? – PeanutsMonkey

1

如果你在你的CSS使用DIV#測試,它會尋找一個名爲測試的任何標識,屬於一個div,因爲如果你只是做#TEST,它可以適用於任何其他元件。它也增加了您的選擇的特異性,並可能幫助那些查看您的代碼的人確切知道您所指的是什麼。

實施例。

#test { margin-top: 10px; } 

<ul id="test"> 
    <li><a href="#">LinkyLink</a></li> 
</ul> 

div#test { background: blue; } 

<div id="test"> 
    <p>This is jargan!</p> 
</div> 

希望這會有所幫助。

相關問題