在 css 中,選擇器是一種模式,用於選擇需要新增樣式的元素。
"css" 列指示該屬性是在哪個 css 版本中定義的。(css1、css2 還是 css3。)
選擇器名稱
例子例子描述
css.class
類選擇器
.intro
選擇 class="intro" 的所有元素。
1#id
id 選擇器
#firstname
選擇 id="firstname" 的所有元素。1*
萬用字元選擇器
*選擇所有元素。
2element
元素選擇器
p選擇所有 元素。
1element,element
element,element 選擇器
div,p
選擇所有 元素和所有 元素。
1element
element
後代選擇器
div p
選擇 元素內部的所有 元素。
1element>element
子元素選擇器
div>p
選擇父元素為 元素的所有 元素。
2element+element
相鄰兄弟選擇器
div+p
選擇緊接在 元素之後的所有 元素。
2[attribute]
屬性選擇器
[target]
選擇帶有 target 屬性所有元素。
2[attribute=value]
屬性選擇器
[target=_blank]
選擇 target="_blank" 的所有元素。
2[attribute~=value]
屬性選擇器
[title~=flower]
選擇 title 屬性包含單詞 "flower" 的所有元素。
2[attribute|=value]
屬性選擇器
[lang|=en]
選擇 lang 屬性值以 "en" 開頭的所有元素。
2:link
a:link
選擇所有未被訪問的鏈結。
1:visited
a:visited
選擇所有已被訪問的鏈結。
1:active
a:active
選擇活動鏈結。
1:hover
a:hover
選擇滑鼠指標位於其上的鏈結。
1:focus
input:focus
選擇獲得焦點的 input 元素。
2:first-letter
p:first-letter
選擇每個 元素的首字母。
1:first-line
p:first-line
選擇每個 元素的首行。
1:first-child
p:first-child
選擇屬於父元素的第乙個子元素的每個 元素。
2:before
p:before
在每個 元素的內容之前插入內容。
2:after
偽類p:after
在每個 元素的內容之後插入內容。
2:lang(language)
p:lang(it)
選擇帶有以 "it" 開頭的 lang 屬性值的每個 元素。
2element1~element2
p~ul
選擇前面有 元素的每個 元素。
選擇其 src 屬性值以 "https" 開頭的每個 元素。
3[attribute$=value]
a[src$=".pdf"]
選擇其 src 屬性以 ".pdf" 結尾的所有 元素。
3[attribute*=value]
a[src*="abc"]
選擇其 src 屬性中包含 "abc" 子串的每個 元素。
3:first-of-type
p:first-of-type
選擇屬於其父元素的首個 元素的每個 元素。
3:last-of-type
p:last-of-type
選擇屬於其父元素的最後 元素的每個 元素。
3:only-of-type
p:only-of-type
選擇屬於其父元素唯一的 元素的每個 元素。
3:only-child
p:only-child
選擇屬於其父元素的唯一子元素的每個 元素。
3:nth-child(n)
p:nth-child(2)
選擇屬於其父元素的第二個子元素的每個 元素。
3:nth-last-child(n)
p:nth-last-child(2)
同上,從最後乙個子元素開始計數。
3:nth-of-type(n)
p:nth-of-type(2)
選擇屬於其父元素第二個 元素的每個 元素。
3:nth-last-of-type(n)
p:nth-last-of-type(2)
同上,但是從最後乙個子元素開始計數。
3:last-child
p:last-child
選擇屬於其父元素最後乙個子元素每個 元素。
3:root
:root
選擇文件的根元素。
3:empty
p:empty
選擇沒有子元素的每個 元素(包括文字節點)。
3:target
#news:target
選擇當前活動的 #news 元素。
3:enabled
input:enabled
選擇每個啟用的 元素。
3:disabled
input:disabled
選擇每個禁用的 元素
3:checked
input:checked
選擇每個被選中的 元素。
3:not(selector)
:not(p)
選擇非 元素的每個元素。
3::selection
::selection
選擇被使用者選取的元素部分。
3css的引入方式共有三種:行內樣式、內部樣式表、外部樣式表。
當兩個規則都作用到了同乙個html元素上時,如果定義的屬性有衝突,那麼應該用誰的值的,css有一套優先順序的定義。
不同級別
在屬性後面使用 !important 會覆蓋頁面內任何位置定義的元素樣式。
作為style屬性寫在元素內的樣式
id選擇器
類選擇器
標籤選擇器
萬用字元選擇器
瀏覽器自定義或繼承
總結排序:!important > 行內樣式》id選擇器 > 類選擇器 > 標籤 > 萬用字元 > 繼承 > 瀏覽器預設屬性
同一級別
同一級別中後寫的會覆蓋先寫的樣式
css優先順序:是由四個級別和各級別的出現次數決定的。
四個級別分別為:行內選擇符、id選擇符、類別選擇符、元素選擇符。
優先順序的演算法:
每個規則對應乙個初始"四位數":0、0、0、0
若是 行內選擇符,則加1、0、0、0
若是 id選擇符,則加0、1、0、0
若是 類選擇符/屬性選擇符/偽類選擇符,則分別加0、0、1、0
若是 元素選擇符/偽元素選擇符,則分別加0、0、0、1
演算法:將每條規則中,選擇符對應的數相加後得到的」四位數「,從左到右進行比較,大的優先順序越高。
①、!important的優先順序是最高的,但出現衝突時則需比較」四位數「;
②、優先順序相同時,則採用就近原則,選擇最後出現的樣式;
③、繼承得來的屬性,其優先順序最低;
!important > 行內樣式》id選擇器 > 類選擇器 > 標籤 > 萬用字元 > 繼承 > 瀏覽器預設屬性
*css選擇器使用強烈建議採用低權重原則,利於充分發揮css的繼承性,復用性,模組化、元件化。
CSS選擇器及優先順序
css優先順序的計算公式 通常我們可以將css的優先順序由高到低分為六組 無條件優先的屬性只需要在屬性後面使用 important 它會覆蓋頁面內任何位置定義的元素樣式。當然,ie 6不支援這個屬性,於是它也成為一種hack被很多人所熟知,真正使命被人淡忘。第二高位的優先屬性是在html中給元素標籤...
CSS選擇器及優先順序
css選擇器 css選擇器優先順序 解釋 對一種有標識的內容進行樣式變化 標籤選擇器 對應的標籤檔案所有對應的標籤都會被選擇修飾 選擇器名 標籤 類選擇器 標籤內的屬性 class 值 選擇器名 class 顧名思義,是一類的內容使用同一種樣式 id選擇器 標籤內的屬性 id 值 選擇器名 id i...
css選擇器及優先順序
後代選擇器 div p 選擇div元素裡面的所有p元素 子選擇器 div p 選擇父元素為div的所有p元素 同胞選擇器 div p 選擇所有緊跟在div之後的p元素 組選擇器 div,p 選擇所有的div和p元素 共同選擇器 div.name 選擇所有類名為name的div元素。即同時滿足 此外還...