1. 程式人生 > >CSS學習筆記-CSS的優先順序+繼承性(四)

CSS學習筆記-CSS的優先順序+繼承性(四)

css繼承特性

CSS繼承性
HTML文件以樹形結構進行組織,各元素之間是一種層次關係,這種層次關係同樣反映在樣式表的應用中。具有層次關係的元素之間,內層元素將繼承外層元素的樣式,多個外層元素中定義的樣式將疊加到內層元素。
HTML中,<body>是其他元素的容器,是其他元素的最外層元素,所以<body>元素中定義的樣式將影響其他所有元素的顯示格式。
具有繼承的CSS屬性
文字相關的屬性是繼承的
text-align、
color、
text-indent、
font-family、
font-size
font-style、
font-weight、
letter-spacing、
word-spacing
text-transform、
line-height等

css優先順序

單個選擇器優先順序

!important > 行內樣式 > ID選擇器 > Class選擇器 >元素選擇器
定義!important的選擇器,優先順序最高,但IE6不支援。
例如:h1{color:#ff0000 !important;}

<style type="text/css">
             /*(1)行內樣式優先順序最高 */
#title{ color:#0000ff;}  /*(2)ID選擇器比Class選擇器優先順序高 */
.title{ color:#00ff00; }  /*(3)Class選擇器比元素選擇器優先順序高 */
h1{ color:#ff0000; } /*(4)元素選擇器,優先順序最低 */
</style> <h1 class="title" id="title" style="color:#999900">人社部官員</h1>

組合選擇器的優先順序是如何計算的?

一般而言,選擇器指向的越準確,它的優先順序就越高。通常我們用1表示標籤選擇器的優先順序,用10表示class選擇器的優先順序,用100標示ID選擇器的優先順序,用1000表示行內樣式。
舉例:
div.box span{ } 優先順序為12
.box span{ } 優先順序為11,優先順序小於上邊

編寫簡潔、高效的原則

概述
所謂高效的CSS就是讓瀏覽器在查詢style匹配的元素的時候儘量進行少的查詢。
編寫高效CSS的原則
不要在ID選擇器前使用標籤名。
例如:div#box 簡寫形式 #box
不要再class選擇器前使用標籤名
例如:div.box 簡寫形式 .box
儘量少使用層級關係
例如:.box .news .title h1 簡寫形式 .title h1
使用class代替層級關係
例如:.box .news .title 簡寫形式 .title