中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css樣式加載順序及覆蓋順序是怎樣的

發布時間:2021-10-08 11:42:14 來源:億速云 閱讀:168 作者:柒染 欄目:web開發

css樣式加載順序及覆蓋順序是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。


代碼如下:


{
height: 100%;
width: 200;
position: absolute;
left: 0;
border: solid 2 #EEE;
}
.current_block {
border: solid 2 #AE0;
}


查找一些教材中(w3schools等),只說css的順序是“元素上的style” > “文件頭上的style元素” >“外部樣式文件”,但對于樣式文件中的多個相同樣式的優先級怎樣排列,沒有詳細說明。經過測試和繼續搜索,得知優先級如下排列:

1. 樣式表的元素選擇器選擇越精確,則其中的樣式優先級越高:
id選擇器指定的樣式 > 類選擇器指定的樣式 > 元素類型選擇器指定的樣式
所以上例中,#navigator的樣式優先級大于.current_block的優先級,即使.current_block是最新添加的,也不起作用。

2. 對于相同類型選擇器制定的樣式,在樣式表文件中,越靠后的優先級越高
注意,這里是樣式表文件中越靠后的優先級越高,而不是在元素class出現的順序。比如.class2 在樣式表中出現在.class1之后:

代碼如下:


.class1 {
color: black;
}
.class2 {
color: red;
}


而某個元素指定class時采用 class="class2 class1"這種方式指定,此時雖然class1在元素中指定時排在class2的后面,但因為在樣式表文件中class1處于class2前面,此時仍然是class2的優先級更高,color的屬性為red,而非black。

3. 如果要讓某個樣式的優先級變高,可以使用!important來指定:

代碼如下:


.class1 {
color: black !important;
}
.class2 {
color: red;
}


此時class將使用black,而非red。

對于一開始遇到的問題,有兩種解決方案:
1. 將border從#navigator中拿出來,放到一個class .block中,而.block放到.current_block之前:

代碼如下:


#navigator {
height: 100%;
width: 200;
position: absolute;
left: 0;
}
.block {
border: solid 2 #EEE;
}
.current_block {
border: solid 2 #AE0;
}


需要默認為#navigator元素指定class="block"

2. 使用!important:

代碼如下:


#navigator {
height: 100%;
width: 200;
position: absolute;
left: 0;
border: solid 2 #EEE;
}
.current_block {
border: solid 2 #AE0 !important;
}


此時無需作任何其他改動即可生效。可見第二種方案更簡單一些。

關于css樣式加載順序及覆蓋順序是怎樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI

阳城县| 肃南| 玉山县| 洛宁县| 德钦县| 紫阳县| 黄龙县| 夹江县| 广饶县| 鄂托克前旗| 宝鸡市| 南平市| 邮箱| 苍山县| 迁安市| 德阳市| 孙吴县| 旺苍县| 武安市| 吴川市| 莎车县| 满城县| 上高县| 安丘市| 临西县| 凉山| 乐亭县| 南宫市| 清苑县| 哈巴河县| 大宁县| 佳木斯市| 方正县| 屏边| 合山市| 乐安县| 盐山县| 老河口市| 盱眙县| 淳化县| 南康市|