2010-11-03 65 views

回答

5
  1. 它們更具體,如果它們發生衝突,那麼很長一段時間將覆蓋較短的版本。 div.foo將具有11的特異性,而.foo具有10的特異性。
  2. 因爲它們更具體,所以您確切知道該類適用於哪個節點名稱,而不是所有節點名稱的通用規則,如果有一個擁有大量元素的龐大應用程序,它們都具有相同的類名,它可以減少在源/文本編輯器中查找元素的時間。
-1

不,如果您只有特定類別或ID的DIV標籤,則沒有區別。

0

堅持只是一個類或id,就像你這樣做,意味着如果HTML標籤被更改爲不同的標籤,您的CSS仍然適用。

大多數時候,這可能正是你想要的 - 類允許你在HTML之上添加一個自定義的意義層。

一般來說,您的選擇器應該是表達您意思的最低要求。

1

特異性只有非常小的差異。

p#id is (0,1,0,1) 

#id is (0,1,0,0) 
。換句話說

,標籤本身並不持有非常專一,在所有比較的一個ID,依靠的是一種微小的特異性否決的東西幾乎不再需要在我的經驗中。

更重要的是,不使用標記資格選擇器對瀏覽器渲染效率更高。

+0

真的!有趣。你是如何得到這些信息的? – bozdoz 2010-11-03 18:27:32

+1

http://css-tricks.com/specifics-on-css-specificity/和http://css-tricks.com/efficiently-rendering-css/ – 2010-11-04 11:17:02

0

通常,這些較長的選擇器在大部分CSS已經完成後派上用場。有時候你想調整一些小東西 - 比如說 - 在p.errordiv.error之間差別。因此,不必添加另一個類 - 從而不得不觸摸HTML - 只需將元素名稱添加到選擇器中,即可實現更細緻的控制。

相關問題