什麼是CSS虛擬元素?CSS虛擬元素用法詳解

來源:互聯網
上載者:User

什麼是虛擬元素

虛擬元素表示了某個元素的子項目。這個子項目雖然在邏輯上存在,但卻並不實際存在於文檔樹中。

因為虛擬元素並不在文檔樹中,所以通過JS,也抓取不到虛擬元素,也不能給它綁事件。

文法

虛擬元素以::開頭。

在CSS1和CSS2中,虛擬元素和偽類一樣,都是用:開頭。但在CSS3中,虛擬元素以::開頭,用以和偽類進行區分。

IE8不支援::。因此如果要相容IE8,只能用:

常見的虛擬元素

::before

在當前元素的內容的前面插入一個子項目。插入的元素為內嵌元素。

需要注意的是,使用::before時, 必須使用content來指定子項目的內容。
例如:

.element::before {    content: "Note: "; /* 字串 */}.element::before {    content: attr(title); /* 元素的title屬性 */}.element::before {    content: url(path/to/image.png); /* 一個圖片 */}.element::before {    content: "\201C"; /* Unicode轉義的一個字元 */}

更詳細的介紹見這裡

::after

在當前元素的內容的後面插入一個子項目。
其他和 ::before類似。

::first-line

選擇當前元素的第一行。
需要注意的是,其只作用於區塊層級元素[注1]。

對::first-line只能使用下面的樣式

  • Font: font, font-style, font-variant, font-weight, font-size, line-height和font-family.Background: background, background-color, background-image, background-position, background-repeat, background-size和background-attachmenttext-decoration, text-transform, letter-spacing和word-spacing

因此,對::first-line使用margin和padding是無效的。

更詳細的介紹見這裡。

::first-letter

選擇第一個字母。
更詳細的介紹見這裡。

::selection

選中當前元素中,選中的文字。


selection.png

對::selection的只能使用 color, background-color和text-shadow這幾個屬性。

什麼時候用虛擬元素

HTML 標籤的目的,就是為了展示內容資訊。非內容資訊要使用虛擬元素。

具體的使用情境是表徵圖和清除浮動。

所謂的非內容資訊,指的是一些對內容進行修飾的資訊。

如,登入按鈕左邊的表徵圖是對登入的說明,為非內容資訊。


登入按鈕.png

如,用紅框框起來的小表徵圖表示,點擊左邊的連結,會在新視窗開啟。也是非內容資訊。


外鏈.png

demos

  • 那些 CSS 偽元素可以幫你做的 10 個效果

  • 基於單個 p 的 CSS 繪圖

  1. 區塊層級元素指display的值為block, inline-block, table-cell, table-caption或 list-item中的一個的。

【相關推薦】

1. 免費css線上視頻教程

2. css線上手冊

3. php.cn獨孤九賤(2)-css視頻教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.