自己做點小程序的時候發(fā)現(xià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、第一第二段落中,鼠標樣式都為move,字體大小都為2em,僅類b發(fā)揮了作用。
則說明:無論在標簽中class屬性里類的順序如何,最終相同的屬性值取css文件中聲明位置最后的那個。
2、第三第四段落中,鼠標樣式都為progress,字體大小都5em,僅類e發(fā)揮了作用,而在加載html頁面的時候,先加載1.css,再加載2.css。
則說明:無論在標簽中class屬性里類的順序如何,最終相同的屬性值取最后加載的css文件中聲明位置最后的那個。
3、第五第六段落中,鼠標樣式都為progress,字體大小都4em,類e起效,類d由于設定了!important,也起效。
則說明:設定了!important的值會優(yōu)先被選取。
后來我又測試了一下,把e中的font-size也加上!important之后,字體大小會變?yōu)?em,則對于都設定了!important的屬性值來說,遵循上面的規(guī)律。