本博文介紹CSS三大特性之一:優先順序。 1 規則 (1)若選擇器相同,則執行層疊性(層疊性:給相同的選擇器設置相同的樣式,則“後來居上”,後面設置的樣式會覆蓋前面設置的樣式); (2)若選擇器不同,則有優先順序。 2 選擇器權重 常見的選擇器權重如下表: 選擇器 權重 繼承或者*(通配符) 0,0,0 ...
本博文介紹CSS三大特性之一:優先順序。
1 規則
(1)若選擇器相同,則執行層疊性(層疊性:給相同的選擇器設置相同的樣式,則“後來居上”,後面設置的樣式會覆蓋前面設置的樣式);
(2)若選擇器不同,則有優先順序。
2 選擇器權重
常見的選擇器權重如下表:
選擇器 | 權重 |
繼承或者*(通配符) | 0,0,0,0 |
標簽選擇器 | 0,0,0,1 |
類選擇器,偽類選擇器 | 0,0,1,0 |
id選擇器 | 0,1,0,0 |
行內樣式(style="") | 1,0,0,0 |
!important | 無窮大 |
對選擇器權重的說明如下:
(1)權重是由4組數字組成,沒有進位;
(2)比較權重大小:從左邊第一個數字開始比較,直到第四個數字;
(3)繼承的權重是0,如果該元素沒有被直接選中,不管父元素權重多高,子元素得到的權重都是0;
(4)權重疊加:如果是複合選擇器,則會有權重疊加,需要計算權重。權重疊加計算方法:將組成複合選擇器的基礎選擇器的權重相加(4組數字分別相加),即得到新權重。
權重疊加示例:
選擇器 | 權重 | 說明 |
div u li | 0,0,0,3 | 3個標簽選擇器(0,0,0,1) |
.nav ul li | 0,0,1,2 | 1個類選擇器(0,0,1,0)+2個標簽選擇器(0,0,0,1) |
a:hover | 0,0,1,1 | 1個標簽選擇器(0,0,0,1)+1個偽類選擇器(0,0,1,0) |
.nav a | 0,0,1,1 | 1個類選擇器(0,0,1,0)+1個標簽選擇器(0,0,0,1) |