子選擇器權值計算
p>span{color:blue;}/*子選擇器權值該怎么算我就不懂了,權值應該也是2,試了下和p span{color:purple;}前后位置 遵循了就近原則*/
這個權值的詳細算法 給講一講吧。。估計編寫的時候用到的地方很少 ?好奇記個筆記 沒準什么時候用到。這個應該是標簽的子選擇器吧 術語可能表達的很差,還有類的子選擇器的權值算法還有別的 也給講講
p>span{color:blue;}/*子選擇器權值該怎么算我就不懂了,權值應該也是2,試了下和p span{color:purple;}前后位置 遵循了就近原則*/
這個權值的詳細算法 給講一講吧。。估計編寫的時候用到的地方很少 ?好奇記個筆記 沒準什么時候用到。這個應該是標簽的子選擇器吧 術語可能表達的很差,還有類的子選擇器的權值算法還有別的 也給講講
2017-12-07
舉報
2017-12-07
標簽的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100,內聯樣式選擇符的權值最高為1000。例如下面的代碼:?
p{color:red;} /權值為1/?
p span{color:green;} /權值為1+1=2/?
.warning{color:white;} /權值為10/?
p span.warning{color:purple;} /權值為1+1+10=12/
所以答案是:2
2017-12-07
下面是權值的規則:
標簽的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100。例如下面的代碼:
p{color:red;} /*權值為1*/p span{color:green;} /*權值為1+1=2*(相當于是標簽選澤里面套了幾個后代選擇器就加幾,是一層一層的套,不是包含幾個加及)/.warning{color:white;} /*權值為10*/p (這個是類選擇器固定的是10)span.warning{color:purple;} /*權值為1+1+10=12*(這個是后代選擇器套了兩個)/#footer .note p{color:yellow;} /*權值為100+10+1=111*/(這個是id選擇器里面套個類選擇器又套了一個子代選擇器)
注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權值最低。