国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

淺析css中偽類和偽元素

2024-04-27 15:11:16
字體:
供稿:網(wǎng)友

CSS引入偽類和偽元素概念是為了格式化文檔樹以外的信息。也就是說,偽類和偽元素是用來修飾不在文檔樹中的部分,比如,鼠標懸停在上面的元素(偽類),一句話中的第一個字母或者是列表中的第一個元素(偽元素)。

一、偽類

偽類用于當已有元素處于的某個狀態(tài)時,為其添加對應的樣式,這個狀態(tài)是根據(jù)用戶行為而動態(tài)變化的。比如說,當用戶懸停在指定的元素時,我們可以通過:hover來描述這個元素的狀態(tài)。雖然它和普通的css類相似,可以為已有的元素添加樣式,但是它只有處于dom樹無法描述的狀態(tài)下才能為元素添加樣式,所以將其稱為偽類。常見偽類:

:link

偽類將應用于未被訪問過的鏈接,與:visited互斥。

:visited

偽類將應用于已經(jīng)被訪問過的鏈接,與:link互斥。

:hover

偽類將應用于有鼠標指針懸停于其上的元素。

:active

偽類將應用于被激活的元素,如被點擊的鏈接、被按下的按鈕等。

需要注意的是在CSS的定義中,同一個元素的:hover必須位于:link、:visited之后才能生效,:active必須位于:hover之后才能生效。

:focus

偽類將應用于擁有鍵盤輸入焦點的元素。

:first-child

偽類將應用于元素在頁面中第一次出現(xiàn)的時候。

:lang

偽類將應用于元素帶有指定lang的情況。 

二、偽元素

與偽類針對特殊狀態(tài)的元素不同的是,偽元素是對元素中的特定內(nèi)容進行操作,它所操作的層次比偽類更深了一層,也因此它的動態(tài)性比偽類要低得多。設計偽元素的目的就是去選取諸如元素內(nèi)容第一個字(母)、第一行,選取某些內(nèi)容前面或后面這種普通的選擇器無法完成的工作。常見偽元素:

:first-letter

偽元素的樣式將應用于元素文本的第一個字(母)。

:first-line

偽元素的樣式將應用于元素文本的第一行。

:before

在元素內(nèi)容的最前面添加新內(nèi)容。

:after

在元素內(nèi)容的最后面添加新內(nèi)容。 

偽類的操作對象是文檔樹中已有的元素,而偽元素則創(chuàng)建了一個文檔數(shù)外的元素。因此,偽類與偽元素的區(qū)別在于:有沒有創(chuàng)建一個文檔樹之外的元素。

三、偽元素是使用單冒號還是雙冒號?

  CSS3規(guī)范中的要求使用雙冒號(::)表示偽元素,以此來區(qū)分偽元素和偽類,比如::before和::after等偽元素使用雙冒號(::),:hover和:active等偽類使用單冒號(:)。除了一些低于IE8版本的瀏覽器外,大部分瀏覽器都支持偽元素的雙冒號(::)表示方法。

  然而,除了少部分偽元素,如::backdrop必須使用雙冒號,大部分偽元素都支持單冒號和雙冒號的寫法,比如::after,寫成:after也可以正確運行。

雖然CSS3標準要求偽元素使用雙冒號的寫法,但也依然支持單冒號的寫法。為了向后兼容,我們建議你在目前還是使用單冒號的寫法。

  實際上,偽元素使用單冒號還是雙冒號很難說得清誰對誰錯,你可以按照個人的喜好來選擇某一種寫法。 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 巍山| 新安县| 梅州市| 富民县| 华亭县| 阿拉善盟| 广德县| 历史| 清涧县| 镇康县| 明溪县| 昆山市| 黎城县| 永修县| 通山县| 麦盖提县| 南京市| 宁明县| 望都县| 宜昌市| 甘孜| 怀安县| 垣曲县| 武陟县| 沙湾县| 百色市| 体育| 海丰县| 柳州市| 开封市| 余庆县| 峨眉山市| 海南省| 油尖旺区| 吴川市| 温州市| 三门峡市| 扎兰屯市| 平阳县| 印江| 长寿区|