CSS樣式定義的優先順序順序總結
層疊優先順序是:
瀏覽器預設 < 外部樣式表 < 內部樣式表 < 內聯樣式
其中樣式表又有:
類別選取器 < 類派生選取器 < ID選取器 < ID派生選取器
派生選取器以前叫上下文選取器,所以完整的層疊優先順序是:
瀏覽器預設 < 外部樣式表 < 外部樣式表類別選取器 < 外部樣式表類派生選取器 < 外部樣式表ID選取器 < 外部樣式表ID派生選取器 < 內部樣式表 < 內部樣式表類別選取器 < 內部樣式表類派生選取器 < 內部樣式表ID選取器 < 內部樣式表ID派生選取器 < 內聯樣式...共12個優先順序
為了說明該問題,請參見下面的例子說明。
<html><head> <title></title> <style type="text/css"> div { color: #00FF00 } /* 綠色 */ .a1 { color: #0000FF } /* 藍色 */ .a1 div { color: #00FFFF } /* 青色 */ .a2 { color: #FF0000 } /* 紅色 */ #a2 { color: #FFFF00 } /* 黃色 */ #a2 div { color: #FF00FF } /* 紫色 */ </style></head><body> <div>我是綠色,內部樣式表優先於瀏覽器預設</div> <div class="a2">我是紅色,類別選取器優先於內部樣式表</div> <div class="a2" id="a2">我是黃色,ID選取器優先於類別選取器</div> <div class="a1"> <span>我是藍色,類別選取器優先於內部樣式表</span> <div>我是青色,類派生選取器優先於類別選取器</div> <div class="a2">我還是青色,類派生選取器優先於所有類別選取器</div> <div id="a2"> <span>我是黃色,ID選取器優先於類派生選取器</span> <div>我是紫色,ID派生選取器優先於類派生選取器</div> <div class="a1">我還是紫色,ID派生選取器優先於所有類別選取器</div> <div class="a1" id="a1">我還是紫色,ID派生選取器優先於所有ID選取器</div> <div class="a1" id="a1" style="color:#000000;">我是黑色,內聯樣式駕到閑雜人等退下</div> </div> </div></body></html>
運行後的:
另外,如果同一個元素在沒有其他樣式的作用影響下,其Class定義了多個並以空格分開,其優先順序順序為:
一個元素同時應用多個class,後定義的優先(即近者優先),加上!important者最優先!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title></title><style type="text/css">.a2 {font-size: 18pt;color: #0000FF!important;}.a1 {font-size: 9pt;color: #FF0000;}</style></head><body><br /><span class="a1">a1</span><br /><span class="a2">a2</span><br /><span class="a2 a1">a2 a1</span><br /><span class="a1 a2">a1 a2</span><br /></body></html>
運行後的: