有時我發現自己爲單個元素創建CSS類。相反,我可以使用一個ID併爲此ID設置一個規則。哪種方式更適合風格?CSS選擇器樣式?
3
A
回答
1
如果樣式只是指一個,唯一的元素,基於ID選擇器是最合適的。
如果樣式引用多個元素,使用類。
要牢記的另一件事是基於ID的選擇器比基於類的選擇器具有更高的優先級。這有助於如果您的任何獨特的ID'd元素繼承了更通用的,基於分類的規則的樣式。
2
沒有硬性的就這一個快速的規則,這是因爲很多有關:
- 你爲什麼要使用樣式
- 你在做什麼
- 你要去哪裏
比所涉及的元件的數量多。
4
我會說,這更是一個人,通過人的偏好。
對我來說,我嘗試着提前想:我會在一個頁面上創建其中的兩個嗎?如果答案甚至含糊其詞地說「是」,那我就用課堂。如果我看不到需要創建第二個特定元素,我將使用ID。
就ID本身而言,我嘗試將其命名爲我不會與之衝突的內容。舉例來說,我會選擇這樣的:
#aboutus_team_wrapper {}
它的長和醜陋,但我確切地知道它是,在這裏我使用它,我知道我永遠不會創造的東西,與衝突名稱。
希望這有助於!
0
我更喜歡在頁面中重複使用最重要的元素,例如本頁面上的Stackoverflow徽標(以及所有標題)。
如果元素不是頁面特定的,可以在不同的頁面之間重複使用CSS類,也可以在同一頁面中多次使用CSS類。
3
不要忘了選擇特異性!我儘可能避免使用ID選擇器。
參考:http://www.w3.org/TR/CSS2/cascade.html(6.4.3)
一個ID選擇比類選擇強10倍。這意味着您將不得不使用11個類選擇器來取消ID選擇器,否則您必須將相同的ID選擇器附加到您編寫的每個CSS規則或我最喜歡的內聯樣式或!重要規則!
「但是爲什麼在我知道的元素上只使用一個類風格只會顯示一次?這就是ID選擇器的用途。」
由於ID選擇弄糟級聯。考慮下面的(非語義)代碼來說明這個說法。
<style type="text/css">
#header a { /*Selector Weight: 101*/
font-weight: normal;
}
.bold { /*Selector Weight: 10*/
font-weight: bold;
}
</style>
<div id="header">
<a href="#">Happily not bold.</a>
<a href="#" class="bold">Sadly, not so bold.</a>
</div>
<a href="#" class="bold">SO bold...</a>
爲了使這項工作,你必須添加:
#header .bold { /*Selector Weight: 110*/
font-weight: bold;
}
太好了,現在我們有兩個大膽的類。你可以看到這會毀了你多快。想象一下,試圖在全功能的Web應用程序上處理這個問題。
相關問題
- 1. CSS選擇器樣式
- 2. angular2僞選擇器樣式
- 3. HTML/CSS - 設置選擇菜單樣式
- 4. 選擇時選擇樣式?
- 5. 選擇CSS選擇器
- 6. 簡化HTML CSS選擇器的樣式表
- 7. 在IE中不工作的字體選擇器樣式css類
- 8. 使用CSS ID選擇器不起作用的樣式
- 9. 沒有用於標籤的HTML選擇器的CSS樣式
- 10. CSS樣式只適用於不帶選擇器的元素
- 11. css邊框樣式:之前選擇器沒有采取全高
- 12. Sifr3 - 是否可以使用父選擇器覆蓋CSS樣式?
- 13. jQuery的日曆選擇器的CSS樣式
- 14. 刪除CSS樣式表中未使用的選擇器?
- 15. 通過ID選擇器不應用CSS背景圖像樣式
- 16. 嵌套選擇器中的CSS樣式鏈接顏色
- 17. 覆蓋從CSS樣式表Facebook朋友選擇器的寬度
- 18. CSS選擇器
- 19. CSS選擇器 -
- 20. 樣式HTML選擇
- 21. CSS HTML選擇器與類選擇器
- 22. 樣式選擇選項
- 23. CSS問題:爲什麼我的CSS樣式表選擇器不工作?
- 24. jQuery:選擇器問題(樣式表類)
- 25. 反應原生選擇器樣式 - ANDROID
- 26. jQuery中有樣式選擇器嗎?
- 27. 更改日期選擇器樣式iphone
- 28. CSS選擇器{N}
- 29. dijit.menu css選擇器
- 30. CSS類選擇器
http://google.com/?q=OOCSS – cgp 2010-10-20 14:58:55