CSS 偽元素
CSS 偽元素
CSS偽元素是用來加入一些選擇器的特殊效果。
語法
偽元素的語法:
selector:pseudo-element {property:value;}
CSS類別也可以使用偽元素:
selector.class:pseudo-element {property:value;}
:first-line 偽元素
"first-line" 偽元素用於為文字的首行設定特殊樣式。
在下面的範例中,瀏覽器會根據"first-line" 偽元素中的樣式對p 元素的第一行文字進行格式化:
<!DOCTYPE html> <html> <head> <style> p:first-line { color:#ff0000; font-variant:small-caps; } </style> </head> <body> <p>您可以使用:线伪元素添加特殊效果给第一行文本。</p> </body> </html>
執行程序試試
注意:"first-line" 偽元素只能用於區塊級元素。
注意: 下面的屬性可套用於"first-line" 偽元素:
- font properties
- color properties
- background properties
- word-spacing
- letter-spacing
- text-decoration
- vertical-align
- text-transform
- line-height
- clear
#:first-letter 偽元素
"first-letter" 偽元素用於向文字的首字母設定特殊樣式:
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> p:first-letter { color:#ff0000; font-size:xx-large; } </style> </head> <body> <p>You can use the :first-letter pseudo-element to add a special effect to the first character of a text!</p> </body> </html>
##執行程式嘗試
注意: "first-letter" 偽元素只能用於區塊級元素。
注意: 下面的屬性可套用於"first-letter" 偽元素:
- font propertiescolor properties background propertiesmargin propertiespadding propertiesborder propertiestext-decorationvertical-align (only if "float" is "none")text-transform#line-heightfloatclear
#偽元素與CSS類別偽元素可以結合CSS類別:
p.article:first-letter {color:#ff0000;}
<p class="article">A paragraph in an article</p>
上面的範例會使所有class 為article 的段落的首字母變成紅色。 <p class="article">A paragraph in an article</p>
Multiple Pseudo-elements可以結合多個偽元素來使用。 在下面的例子中,段落的第一個字母將顯示為紅色,其字體大小為 xx-large。第一行中的其餘文字將為藍色,並以小型大寫字母顯示。 段落中的其餘文字將以預設字體大小和顏色來顯示:
實例
執行程式嘗試#
#實例
CSS - :after 偽元素
# <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<style>
p:first-letter
{
color:#ff0000;
font-size:xx-large;
}
p:first-line
{
color:#0000ff;
font-variant:small-caps;
}
</style>
</head>
<body>
<p>You can combine the :first-letter and :first-line pseudo-elements to add a special effect to the first letter and the first line of a text!</p>
</body>
</html>
執行程式嘗試#CSS - :before 偽元素
":before" 偽元素可以在元素的內容前面插入新內容。
下面的範例在每個<h1>元素前面插入一幅圖片:
#實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> h1:before {content:url(https://img.php.cn/upload/course/000/000/006/5809800b44336872.jpg);} </style> </head> <body> <h1>This is a heading</h1> <p>The :before pseudo-element inserts content before an element.</p> <h1>This is a heading</h1> <p><b>注意:</b>仅当 !DOCTYPE 已经声明 IE8 支持这个内容属性</p> </body> </html>
運行程式嘗試一下
CSS - :after 偽元素
":after" 偽元素可以在元素的內容之後插入新內容。
下面的範例在每個<h1> 元素後面插入一幅圖片:
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> h1:after {content:url(https://img.php.cn/upload/course/000/000/006/5809800b44336872.jpg);} </style> </head> <body> <h1>This is a heading</h1> <p>The :after pseudo-element inserts content after an element.</p> <h1>This is a heading</h1> <p><b>注意:</b>仅当!DOCTYPE 已经声明 IE8支持这个内容属性.</p> </body> </html>
執行程式嘗試
所有CSS偽類別/元素
選擇器 | 範例 | 範例說明 |
---|---|---|
#:link | a:link | 選擇所有未造訪連結 |
:visited | a: visited | 選擇所有造訪過的連結 |
:active | a:active | 選擇正在活動連結 |
:hover | a:hover | 把滑鼠放在連結上的狀態 |
:focus | input:focus | 選擇元素輸入後具有焦點 |
#:first-letter | p:first-letter | #選擇每個 元素的第一個字母 |
:first-line | p:first-line | #選擇每個 元素的第一行 |
:first-child | p:first-child | 選擇器符合屬於任意元素的第一個子元素的<]p> 元素 |
:before | p:before | 在每個 元素之前插入內容 |
:after | p:after | 在每個 元素之後插入內容 |
:lang(language) | #p:lang(it) | 為 元素的lang屬性選擇一個開始值 |