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