CSS 偽元素

2022-05-19 15:15 更新

CSS 偽元素


CSS 偽元素是用來添加一些選擇器的特殊效果。

CSS 偽元素控制的內(nèi)容和元素是沒有差別的,但是它本身只是基于元素的抽象,并不存在于文檔中,所以稱為偽元素。


語法

偽元素的語法:

selector:pseudo-element {property:value;}

CSS類也可以使用偽元素:

selector.class:pseudo-element {property:value;}

在CSS1和CSS2中,偽元素和偽類都采用單冒號(hào)進(jìn)行表示,在CSS3中為了區(qū)分偽元素和偽類,規(guī)定使用雙冒號(hào)代表偽元素,單冒號(hào)代表偽類,即CSS3標(biāo)準(zhǔn)中應(yīng)該這么寫:?selector.class::pseudo-element {property:value;}?
雖然CSS3規(guī)定了必須使用雙冒號(hào),但實(shí)際上使用單冒號(hào)也可以工作,這是由于CSS的兼容性帶來的,但這并不意味著可以無所忌憚的使用單冒號(hào),因?yàn)閱坞p冒號(hào)的區(qū)分,可以給CSS代碼帶來更高的可讀性。

:first-line 偽元素

"first-line" 偽元素用于向文本的首行設(shè)置特殊樣式。

在下面的例子中,瀏覽器會(huì)根據(jù) "first-line" 偽元素中的樣式對(duì) p 元素的第一行文本進(jìn)行格式化:

實(shí)例

p:first-line
{
color:#ff0000;
font-variant:small-caps;
}

嘗試一下 ?

注意:"first-line" 偽元素只能用于塊級(jí)元素。

注意: 下面的屬性可應(yīng)用于 "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" 偽元素用于向文本的首字母設(shè)置特殊樣式:

實(shí)例

p:first-letter
{
color:#ff0000;
font-size:xx-large;
}

嘗試一下 ?

注意: "first-letter" 偽元素只能用于塊級(jí)元素。

注意: 下面的屬性可應(yīng)用于 "first-letter" 偽元素: 

  • font properties
  • color properties 
  • background properties
  • margin properties
  • padding properties
  • border properties
  • text-decoration
  • vertical-align (only if "float" is "none")
  • text-transform
  • line-height
  • float
  • clear

提示:有關(guān) first-letter 偽元素的相關(guān)描述,你可以參考本站的 CSS :first-letter 偽元素 一節(jié)。


偽元素和 CSS 類

偽元素可以結(jié)合 CSS 類: 

實(shí)例

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

<p class="article">A paragraph in an article</p>


嘗試一下 ?
點(diǎn)擊“嘗試一下”按鈕查看在線實(shí)例

上面的例子會(huì)使所有 class 為 article 的段落的首字母變?yōu)榧t色。


Multiple Pseudo-elements

可以結(jié)合多個(gè)偽元素來使用。

在下面的例子中,段落的第一個(gè)字母將顯示為紅色,其字體大小為 xx-large。第一行中的其余文本將為藍(lán)色,并以小型大寫字母顯示。

段落中的其余文本將以默認(rèn)字體大小和顏色來顯示:

實(shí)例

p:first-letter
{
color:#ff0000;
font-size:xx-large;
}
p:first-line
{
color:#0000ff;
font-variant:small-caps;
}

嘗試一下 ?

CSS - :before 偽元素

":before" 偽元素可以在元素的內(nèi)容前面插入新內(nèi)容。

下面的例子在每個(gè) <h1>元素前面插入一幅圖片:

實(shí)例

h1:before
{
content:url(smiley.gif);
}

嘗試一下 ?

CSS - :after 偽元素

":after" 偽元素可以在元素的內(nèi)容之后插入新內(nèi)容。

下面的例子在每個(gè) <h1> 元素后面插入一幅圖片:

實(shí)例

h1:after
{
content:url(smiley.gif);
}

嘗試一下 ?

所有CSS偽類/元素

選擇器 示例 示例說明
:link a:link 選擇所有未訪問鏈接
:visited a:visited 選擇所有訪問過的鏈接
:active a:active 選擇正在活動(dòng)鏈接
:hover a:hover 把鼠標(biāo)放在鏈接上的狀態(tài)
:focus input:focus 選擇元素輸入后具有焦點(diǎn)
:first-letter p:first-letter 選擇每個(gè)<p> 元素的第一個(gè)字母
:first-line p:first-line 選擇每個(gè)<p> 元素的第一行
:first-child p:first-child 選擇器匹配屬于任意元素的第一個(gè)子元素的 <]p> 元素
:before p:before 在每個(gè)<p>元素之前插入內(nèi)容
:after p:after 在每個(gè)<p>元素之后插入內(nèi)容
:lang(language) p:lang(it) 為<p>元素的lang屬性選擇一個(gè)開始值


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)