自己做點(diǎn)小程序的時候發(fā)現(xiàn)在一個標(biāo)簽中的不同兩個類給同一屬性設(shè)定了不同值的時候,最終屬性取值的特點(diǎn):
上面這句話有夠拗口的,用例子說明一切吧。
csstest.html:
代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<title>CSStest</title>
<link rel="stylesheet" href="1.css" />
<link rel="stylesheet" href="2.css" />
</head>
<body>
<!-- 類 a b c d 在1.css中,類 e 在2.css中 -->
<p class="a b">aaaaaaa</p>
<p class="b a">bbbbbbb</p>
<p class="c e">ccccccc</p>
<p class="e c">ddddddd</p>
<p class="d e">eeeeeee</p>
<p class="e d">fffffff</p>
</body>
</html>
1.css
代碼如下:
.a{
cursor: pointer;
font-size: 1em;
}
.b{
cursor: move;
font-size: 2em;
}
.c{
cursor: crosshair;
font-size: 3em;
}
.d{
cursor: help;
font-size: 4em !important;
}
2.css
代碼如下:
.e{
cursor: progress;
font-size: 5em;
}
最后在瀏覽器審查元素的時候發(fā)現(xiàn):
1、第一第二段落中,鼠標(biāo)樣式都為move,字體大小都為2em,僅類b發(fā)揮了作用。
則說明:無論在標(biāo)簽中class屬性里類的順序如何,最終相同的屬性值取css文件中聲明位置最后的那個。
2、第三第四段落中,鼠標(biāo)樣式都為progress,字體大小都5em,僅類e發(fā)揮了作用,而在加載html頁面的時候,先加載1.css,再加載2.css。
則說明:無論在標(biāo)簽中class屬性里類的順序如何,最終相同的屬性值取最后加載的css文件中聲明位置最后的那個。
3、第五第六段落中,鼠標(biāo)樣式都為progress,字體大小都4em,類e起效,類d由于設(shè)定了!important,也起效。
則說明:設(shè)定了!important的值會優(yōu)先被選取。
后來我又測試了一下,把e中的font-size也加上!important之后,字體大小會變?yōu)?em,則對于都設(shè)定了!important的屬性值來說,遵循上面的規(guī)律。
更多信息請查看IT技術(shù)專欄