當(dāng)CSS規(guī)則發(fā)生沖突時(shí),瀏覽器將根據(jù)優(yōu)先級(jí)來決定哪個(gè)規(guī)則將應(yīng)用于元素。例如,如果同一元素有多個(gè)樣式規(guī)則,則瀏覽器將根據(jù)優(yōu)先級(jí)選擇適用規(guī)則。
div { color: red; } div { color: blue; }
在上面的例子中,該元素的文本顏色應(yīng)該是藍(lán)色,而不是紅色,因?yàn)榈诙€(gè)規(guī)則比第一個(gè)規(guī)則的優(yōu)先級(jí)高。
那么如何計(jì)算優(yōu)先級(jí)呢?它的計(jì)算方法如下:
- !important:最高優(yōu)先級(jí)
- 內(nèi)聯(lián)樣式:中等優(yōu)先級(jí)
- id選擇器:高優(yōu)先級(jí)
- 類選擇器、屬性選擇器、偽類選擇器:中等優(yōu)先級(jí)
- 元素選擇器、偽元素選擇器:低優(yōu)先級(jí)
- 通配符選擇器、子選擇器、后代選擇器、相鄰選擇器:最低優(yōu)先級(jí)
例如:
#idName { color: red !important; } div span { color: blue; } .classname { color: green; }
在上面的例子中,如果相同的元素應(yīng)用了解析成這樣的規(guī)則:
- idName元素將會(huì)被設(shè)置為紅色(因?yàn)?important)
- Classname元素將被設(shè)置為綠色(因?yàn)樗哂休^高的優(yōu)先級(jí))
- 除特殊情況外,div span元素將被設(shè)置為藍(lán)色(因?yàn)樗邢鄬?duì)低的優(yōu)先級(jí))
以上就是CSS優(yōu)先級(jí)的不同之處,當(dāng)您創(chuàng)建樣式表時(shí),請(qǐng)注意每個(gè)選擇器的優(yōu)先級(jí)并盡可能使用更特定的選擇器。