tips:css
若是有!important那麼相加的那些不管多權重高就無論用,若是有max-height/max-width那麼!important無論用,若是同時有min-height/min-width和 max-height/max-width,那麼max-height/max-width的無論用前端
口訣:從0開始,一個行內樣式+1000,一個id+100,一個屬性選擇器/class或者僞類+10,一個元素名,或者僞元素+1前端工程師
min-height/min-width > max-height/max-width > !important > 行內樣式 > ID選擇器 > 類選擇器、屬性選擇器、僞元素和僞類選擇器 > 元素選擇器 > 通用選擇器
div p h3 ---> 0,0,0,3 因此此時h3標籤的權重值爲3, 由於div,p,h3這些都是標籤選擇器(權重值爲1)spa
<div> <p> <h3>xxxx</h3> </P> </div>
#par .sub h3 ---> 0,1,1,1 此時的h3標籤的權重值爲111=100+10+1 (依次類推)code
<div id="par"> <p class="sub"> <h3>xxxx</h3> </P> </div>
要注意的一點就是如前面說到的那樣,數位沒有進位: 0,0,0,5 + 0,0,0,5 = 0,0,0,10而不是0,0,1,0,因此不會存在10個div能遇上一個類選擇器的狀況。ip
基於如下的HTML結構和CSS樣式,文本Dijkstra的顏色是?it
<ul class="authors" id="favorite"> <li><span>Martin Fowler</span></li> <li id="related><span class="highlight">Dijkstra</span></li> </ul> ul #related span { color:red; } #favorite .highlight{ color:orange; } .highlight{ color:black; }
計算權重:
(1)ul #related span ---> 0,0,0,1 + 0,1,0,0 + 0,0,0,1 =0,1,0,2 ---> 102 red
(2) #favorite .highlight ---> 0,1,0,0 + 0,0,1,0 = 0,1,1,0 ---> 110 orange (權重最大)
(3) .highlight ---> 0,0,1,0 = 10 blackclass
由於110 > 102 > 10 因此文本Dijkstra顯示的 Orange這種顏色import