Selector

VersionSelectorExampleDescriptionRemark
1.class.classNameclass="className" 屬性的元素
1#id#idNameid="idName" 屬性的元素
2**所有元素
1elementp所有 <p> 元素
1element, elementdiv, p所有 <div> 元素和所有 <p> 元素
1element elementdiv p<div> 元素內部所有 <p> 元素
2element>elementdiv>p父元素為 <div> 元素的所有 <p> 元素
2element+elementdiv+p在相同的父元素下,緊臨在 <div> 元素之後的 <p> 元素
2[attribute][type]帶有 type 屬性的所有元素
2[attribute=value][type=password]type="password" 屬性的所有元素
2[attribute~=value][title~=word]title 屬性,包含單字 word 的所有元素
2%%[attribute=value]%%`[title=word]`
1:linka:link所有未被點擊過的連結只適用於<a>
1:visiteda:visited所有已被點擊過的連結只適用於<a>
1:activediv:active被點擊的元素有點像 onClick 事件
1:hoverspan:hover被滑過的元素有點像 onHover 事件
2:focusinput:focus取得焦點的元素有點像 onFocus 事件
1:first-letterp:first-letter<p> 元素的首字
1:first-linep:first-line<p> 元素的首行
2:first-childp:first-child<p> 元素的首行
2:beforep:before<p> 元素的內容之前插入新的內容使用 content 屬性設定文字內容
2:afterp:after<p> 元素的內容之後插入新的內容使用 content 屬性設定文字內容
2:lang(language)p:lang(en)lang 屬性為 en 開頭的 <p> 元素
3element1~element2p~ul在相同的父元素下,<p> 之後的所有 <ul> 元素
3%%[attribute^=value]%%%%a[src^="https"]%%<a> 元素的 src 屬性,以 https 開頭
3%%[attribute$=value]%%%%a[src$=".pdf"]%%<a> 元素的 src 屬性,以 .pdf 結尾
3%%[attribute*=value]%%%%a[src*="abc"]%%<a> 元素的 src 屬性,包含子字串 abc
3:first-of-typep:first-of-type在相同的父元素下,第一個 <p> 元素
3:last-of-typep:last-of-type在相同的父元素下,最後一個 <p> 元素
3:only-of-typep:only-of-type在相同的父元素下,唯一一個 <p> 元素
3:only-childp:only-child在相同的父元素下,唯一的子元素 <p>
3:nth-child(n)p:nth-child(n)在相同的父元素下,第 n 個子元素 <p>n
3:nth-last-child(n)p:nth-last-child(n)在相同的父元素下,倒數第 n 個子元素 <p>n
3:nth-of-type(n)p:nth-of-type(n)在相同的父元素下,第 n 個 <p> 元素n
3:nth-last-of-type(n)p:nth-last-of-type(n)在相同的父元素下,倒數第 n 一個 <p> 元素n
3:last-childp:last-child在相同的父元素下,最後一個子元素 <p>
3:root:rootDOM 的根元素
3:emptyp:empty沒有子元素的 <p> 元素
3:target#news:target當前被選擇的錨點 #news 元素
3:enabledinput:enabled每個被啟用的 <input> 元素
3:disabledinput:disabled每個被禁用的 <input> 元素
3:checkedinput:checked每個被選取的 <input> 元素
3:not(selector):not(p)<p> 以外的所有元素
3::selection::selection

Class選擇器,. 開頭,後面接 class 屬性的名稱,名稱命名方法參考

一個網頁可以有多個 class 屬性,如:

<p class="tip">段落一</p>
<p class="tip">段落二</p>
<p class="notice">段落三</p>

程式碼如下:

.tip { color: blue; } /* 段落一二會是藍色 */
.notice { color: red; } /* 段落三會是紅色 */

# 開頭,後面接 id 屬性的名稱,名稱命名方法參考 (同 class selector)

一個網頁只能有一個 id 屬性,如:

<p id="tip">段落一</p>
<p id="notice">段落二</p>

程式碼如下:

#tip { color: blue; } /* 段落一會是藍色 */
#notice { color: red; } /* 段落二會是紅色 */

型態選擇器,是直接設定在 html 標籤上。

h1 { color: blue; } /* 所有 h1 標籤會是藍色 */
p { color: red; } /* 所有 p 標籤會是紅色 */

通用選擇器,使用萬用字元 *,所有元素都會套用設定。

* { color: red; } /* 所有元素都會被設定紅色 */

選擇器群組,參考以下程式碼:

h1 { color: red; }
h2 { color: red; }
h3 { color: red; }

它與下面相等價:

h1, h2, h3 { color: red; }

注意: 要全部選擇器都是合法的選擇器,等價才會成立;只要其中有一個選擇器不合法,則全部都會失效。