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 偽元素
"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" 偽元素只能用於區塊級元素。

注意: 下面的屬性可套用於"first-letter" 偽元素: 

font屬性

    ##color屬性
  • background屬性
  • #margin屬性
  • padding屬性
  • border屬性
  • text-decoration屬性
  • vertical-align屬性(僅當「float: none”時)
  • text-transform屬性
  • #line-height屬性
  • ##float屬性
  • clear屬性
  • #偽元素與CSS類別
  • 偽元素可以結合CSS類別: 

#p.article:first-letter {color:#ff0000;}

<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偽類別/元素

:hover:focus:first-letter:first-line:first-child:before:after:lang(#
選擇器範例範例說明
#:linka:link選擇所有未造訪連結
: visiteda: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屬性選擇一個開始值