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>可以使用:first-line伪元素为文本的第一行添加特殊效果。测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!测试文本! </p> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
##注意:" first-line" 偽元素只能用於區塊級元素。
注意: 下面的屬性可套用於"first-line" 偽元素:
- font屬性 ##color 屬性
- background屬性
- #word-spacing屬性
- ##letter- spacing屬性
- text-decoration屬性
- #vertical-align屬性
##text-transform屬性
line-height屬性
clear屬性
- :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>你可以使用 "first-letter" 伪元素向文本的首字母设置特殊样式!</p> </body> </html>
注意: 下面的屬性可套用於"first-letter" 偽元素:
font屬性
- ##color屬性
- background屬性
- #margin屬性
- padding屬性
- border屬性
- text-decoration屬性
- vertical-align屬性(僅當「float: none”時)
- text-transform屬性
- #line-height屬性
- ##float屬性
- clear屬性
- #偽元素與CSS類別
偽元素可以結合CSS類別:
<p class="article">文章段落</p>
#
上面的範例會使所有 class 為 article 的段落的首字母變成紅色。
多個偽元素
可以結合多個偽元素來使用。
在下面的例子中,段落的第一個字母將顯示為紅色,其字體大小為 xx-large。第一行中的其餘文字將為藍色,並以小型大寫字母顯示。
段落中的其餘文字將以預設字體大小和顏色來顯示:
實例
<!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>你可以结合使用"first-line"和"first-letter"伪元素向文本的首行和首字母设置特殊样式。</p> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
CSS - :before 偽元素
":before" 偽元素可以在元素的內容前面插入新內容。
下面的範例在每個<h1>元素前面插入一幅圖片:
#實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> h1:after {content:url(http://img.php.cn/upload/article/000/000/015/5c6a721a166be932.gif);} </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 - :after 偽元素
":after" 偽元素可以在元素的內容之後插入新內容。
下面的範例在每個 <h1> 元素後面插入一個圖片:
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> h1:after {content:url(http://img.php.cn/upload/article/000/000/015/5c6a721a166be932.gif);} </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 | 選擇正在活動連結 | |
a:hover | #把滑鼠放在連結上的狀態 | |
#input:focus | 選擇元素輸入後具有焦點 | |
p:first-letter | 選擇每個<p> 元素的第一個字母 | |
p:first-line | 選擇每個<p> 元素的第一行 | |
#p:first-child | 選擇器符合屬於任何元素的第一個子元素的<]p> 元素 | |
p:before | 在每個<p> ;元素之前插入內容 | |
p:after | 在每個<p>元素之後插入內容 | |
language)p:lang(it) | 為< ;p>元素的lang屬性選擇一個開始值 |