CSS中的選擇器優先順序的詳細介紹
特殊性是什麼
在對一個HTML元素應用CSS樣式時,常常有很多種方法可以找到元素,例如:
<p id="container" class="wrap_sty"> <p class="pra">这是一个段落</p> </p> <style> #container p { color:red } p p { color:green } p { color:yellow } </style>
可見,如果要作用到一個HTML元素的方法很多,遠遠不只這些。那麼如果一個元素被套用了很多同樣的樣式,最後又會顯式到哪一個樣式呢? CSS對於多個選擇器的優先性使用了一個稱為特殊性的方式。
CSS特殊性
選擇器的特殊性分為4個等級,a b c d,從左到右,越左邊的越優先, 如果一個選擇器規則有多個相同類型選擇器,則+1。
如果是HTML內樣式,那麼特殊性最優先,a=1
id選擇器的特殊性是b,
類別選擇器、偽類別選擇器、屬性選擇器為c
標籤選擇器、偽元素選擇器為d
先說一些選擇器類型:
1.id選擇器
#myid { ... }
2.類別選擇器
.myclass { ... }
3.標籤選擇器
p { ... }
4.屬性選擇器
[title="mytitle"] { ... }
由於大多數文件例如W3CSCHOOL可能並沒有詳細說明,或許不少人認為屬性選擇器是這樣的 p[title="mytitle"]或#id[title="mytitle"]等等,這樣是屬性選擇器,嚴格來說,這樣的並非單純的屬性選擇器,而是由id選擇器、標籤選擇器等等和屬性選擇共同組成的。
5.偽類選擇器
p:hover { ... }
常見的偽類選擇器有:
連結偽類,:link, :visited,用於錨元素。
動態偽類,:hover,:focus,:active,用於任何選擇。
6.偽元素選擇器
p::after { ... } p::before { ... }
偽元素和偽類是完全不同的概念,之所以稱之為偽元素,因為其確實可以產生一個虛擬的HTML元素,只不過偽元素無法被DOM取得。
偽元素的應用有很多,最常見的例如::after清除浮動:
<ul> <li>A</li> <li>B</li> </ul> <style> li { float:left } ul::after { content: ""; display: block; clear: both } </style>
#CSS特殊性範例
#下面是一些CSS選擇器的特殊性範例:
選擇器 | 特殊性 | 以10為基底數的特殊性 |
---|---|---|
style="color: red" | #1, 0, 0, 0 | 1000 |
#id {} | 0, 1, 0, 0 | 100 |
#id #aid | 0, 2, 0, 0 | #200 |
.sty {} | 0, 0, 1, 0 | 10 |
.sty p[title=""] { } | 0, 0, 2, 0 | 20 |
p:hover {} | ##0, 0, 1, 010 | |
#p {}
| 0, 0, 0, 11 | |
ul::after {}
| 0, 0, 0, 11 | |
p p {}
| 0, 0, 0, 22 |
如果兩個規則的特殊性相同,那麼後面定義的會覆寫先定義的。
CSS重要性
CSS中還有一種東西可以無視特殊性,那就是!important,使用此標記的CSS屬性總是最優先的。
#id { color: red } .class { color: yellow !important }
如果兩個屬性都有 !important 那麼由特殊性來決定優先順序。
#id { color: red !important } .class { color: yellow !important }
IE6對 !important 的支援並不完全,在IE6中,如果一個選擇器中先定義了 !important 屬性,後面又定義了一個同樣的不帶 !important 的屬性,那麼!important 會失效。
p { color: yellow !important; color: red; }
IE6/7還可以在 !important 後面加點料,也不會失去味道,但建議別這麼無聊!
div { color: yellow !important you are dead; /* IE6/7依然有效 */ }
#
以上是CSS中的選擇器優先順序的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-
