CSS 偽類
什麼是偽類?
偽類用於定義元素的特殊狀態。
例如,它可以用於
- 當用戶將滑鼠懸停在元素上時進行樣式設定
- 為已訪問和未訪問的連結設定不同的樣式
- 當元素獲得焦點時進行樣式設定
將滑鼠懸停在我上面
語法
偽類的語法
選擇器:偽類 {
屬性: 值;
}
錨點偽類
連結可以顯示不同的方式
示例
/* 未訪問的連結 */
a:link {
color: #FF0000;
}
/* 已訪問的連結 */
a:visited {
color: #00FF00;
}
/* 滑鼠懸停在連結上 */
a:hover {
color: #FF00FF;
}
/* 選中的連結 */
a:active {
color: #0000FF;
}
自己動手試一試 »
注意: 在 CSS 定義中,a:hover
必須在 a:link
和 a:visited
之後,才能生效!在 CSS 定義中,a:active
必須在 a:hover
之後,才能生效!偽類名稱不區分大小寫。
偽類與 HTML 類
偽類可以與 HTML 類結合使用
當您將滑鼠懸停在示例中的連結上時,它將改變顏色
懸停在 <div> 上
在 <div> 元素上使用 :hover
偽類的一個示例
簡單的工具提示懸停
將滑鼠懸停在 <div> 元素上可顯示一個 <p> 元素(類似於工具提示)
將滑鼠懸停在我上面可顯示 <p> 元素。
Tada! 我在這裡!
示例
p {
display: none;
background-color: yellow;
padding: 20px;
}
div:hover p {
display: block;
}
自己動手試一試 »
CSS - :first-child 偽類
:first-child
偽類匹配指定元素的第一個子元素。
匹配第一個 <p> 元素
在下面的示例中,選擇器匹配任何作為某個元素第一個子元素的 <p> 元素
匹配所有 <p> 元素中的第一個 <i> 元素
在下面的示例中,選擇器匹配所有 <p> 元素中的第一個 <i> 元素
匹配所有第一個子元素 <p> 元素中的所有 <i> 元素
在下面的示例中,選擇器匹配作為另一個元素第一個子元素的 <p> 元素中的所有 <i> 元素
CSS - :lang 偽類
:lang
偽類允許您為不同語言定義特殊規則。
在下面的示例中,:lang
為 lang="no" 的 <q> 元素定義了引號
示例
<html>
<head>
<style>
q:lang(no) {
quotes: "~" "~";
}
</style>
</head>
<body>
<p>一些文字 <q lang="no">段落中的引用</q> 一些文字。</p>
</body>
</html>
自己動手試一試 »
更多示例
為超連結新增不同的樣式
此示例演示瞭如何為超連結新增其他樣式。
:focus 的使用
此示例演示瞭如何使用 :focus 偽類。
所有 CSS 偽類
選擇器 | 示例 | 示例描述 |
---|---|---|
:active | a:active | 選擇活動連結 |
:checked | input:checked | 選擇所有已選中的 <input> 元素 |
:disabled | input:disabled | 選擇所有停用的 <input> 元素 |
:empty | p:empty | 選擇所有沒有子元素的 <p> 元素 |
:enabled | input:enabled | 選擇所有啟用的 <input> 元素 |
:first-child | p:first-child | 選擇所有作為其父元素第一個子元素的 <p> 元素 |
:first-of-type | p:first-of-type | 選擇作為其父元素的第一個 <p> 元素的所有 <p> 元素 |
:focus | input:focus | 選擇獲得焦點的 <input> 元素 |
:hover | a:hover | 滑鼠懸停時選擇連結 |
:in-range | input:in-range | 選擇值在指定範圍內的 <input> 元素 |
:invalid | input:invalid | 選擇所有值無效的 <input> 元素 |
:lang(語言) | p:lang(it) | 選擇 lang 屬性值以 "it" 開頭的每個 <p> 元素 |
:last-child | p:last-child | 選擇所有作為其父元素最後一個子元素的 <p> 元素 |
:last-of-type | p:last-of-type | 選擇作為其父元素的最後一個 <p> 元素的所有 <p> 元素 |
:link | a:link | 選擇所有未訪問的連結 |
:not(selector) | :not(p) | 選擇所有不是 <p> 元素的元素 |
:nth-child(n) | p:nth-child(2) | 選擇作為其父元素的第二個子元素的所有 <p> 元素 |
:nth-last-child(n) | p:nth-last-child(2) | 選擇作為其父元素的第二個子元素的所有 <p> 元素,從最後一個子元素開始計數 |
:nth-last-of-type(n) | p:nth-last-of-type(2) | 選擇作為其父元素的第二個 <p> 元素的所有 <p> 元素,從最後一個子元素開始計數 |
:nth-of-type(n) | p:nth-of-type(2) | 選擇作為其父元素的第二個 <p> 元素的所有 <p> 元素 |
:only-of-type | p:only-of-type | 選擇作為其父元素的唯一 <p> 元素的所有 <p> 元素 |
:only-child | p:only-child | 選擇作為其父元素的唯一子元素的所有 <p> 元素 |
:optional | input:optional | 選擇沒有 "required" 屬性的 <input> 元素 |
:out-of-range | input:out-of-range | 選擇值不在指定範圍內的 <input> 元素 |
:read-only | input:read-only | 選擇指定了 "readonly" 屬性的 <input> 元素 |
:read-write | input:read-write | 選擇沒有 "readonly" 屬性的 <input> 元素 |
:required | input:required | 選擇指定了 "required" 屬性的 <input> 元素 |
:root | root | 選擇文件的根元素 |
:target | #news:target | 選擇當前活動的 #news 元素(點選包含該錨點名稱的 URL) |
:valid | input:valid | 選擇所有值有效的 <input> 元素 |
:visited | a:visited | 選擇所有已訪問的連結 |
所有 CSS 偽元素
選擇器 | 示例 | 示例描述 |
---|---|---|
::after | p::after | 在每個 <p> 元素之後插入內容 |
::before | p::before | 在每個 <p> 元素之前插入內容 |
::first-letter | p::first-letter | 選擇每個 <p> 元素的第一個字母 |
::first-line | p::first-line | 選擇每個 <p> 元素的第一行 |
::marker | ::marker | 選擇列表項的標記 |
::selection | p::selection | 選擇使用者選定的元素部分 |