搜尋
首頁web前端css教學css偽選擇器學習之偽元素選擇器解析

css偽選擇器學習之偽元素選擇器解析

Aug 03, 2022 am 10:45 AM
css偽元素選擇器偽類

在之前的文章《CSS中什麼是層級選擇器?怎麼用? 》中,我們學習了4種層級選擇器,下面我們聊聊偽選擇器,它們提供了更複雜的功能,但非直接對應HTML文檔應以的元素。偽選擇器主要分為兩種:偽元素和偽類。下面我們先詳細聊聊偽元素選擇器。

css偽選擇器學習之偽元素選擇器解析

偽元素選擇器

CSS中偽元素選擇器 的是在指定CSS選擇器增加關鍵字。用來描述某個指定元素的特定部分設定樣式。 【推薦學習:css影片教學

透過偽元素,開發者不需要藉助元素的 ID 或 class 屬性就可以對被選擇元素的特定部分定義樣式。例如透過偽元素您可以設定段落中第一個字母的樣式,或在元素之前、之後插入一些內容等等。

在 CSS1 和 CSS2 中,偽元素的使用與偽類相同,都是使一個冒號:與選擇器連結。但在 CSS3 中,將偽元素單冒號的使用方法改為使用雙冒號::,以此來區分偽類和偽元素。因此,建議在使用偽元素時使用雙冒號而不是單冒號。

語法結構如下所示:

/* CSS3 语法 */
选择器::伪元素 {
  属性 : 属性值;
}
/* CSS2 过时语法 (仅用来支持 IE8) */
选择器:伪元素 {
  属性 : 属性值;
}

現在應該都採用兩個冒號的方式,除非你還相容於IE8。

注意:一個選擇器中只能使用一個偽元素,而且偽元素必須緊跟在選擇器之後。依照最新的 W3C 規範,在定義偽元素時您應該使用雙冒號::而不是單一冒號:,以便區分偽類和偽元素。但由於舊版的 W3C 規範並未對此進行特別區分,因此目前絕大多數的瀏覽器都同時支援使用單冒號和雙冒號兩種方式來定義偽元素。

CSS 中提供了一系列的偽元素,如下表所示:

##範例範例描述::afterp::after在每個

元素之後插入內容

::beforep::before#在每個

元素之前插入內容

::first-letterp::first-letter符合每個

元素中內容的首字母

::first-linep::first-line符合每個

元素中內容的首行

##:: selection::placeholder

::before和::after伪元素

::before 伪元素 的作用是作为定位的HTML元素的第一个子级元素,::after ** 伪元素** 的作用是作为定位的 HTML元素的最后一个子级元素。

如下示例代码展示了::before::after伪元素的用法:

nbsp;html>



    <meta>
    <meta>
    <meta>
    <title>::before和::after伪元素</title>
    <style>
        p::before {
            content: "♥";
        }

        p::after {
            content: "♥";
        }
    </style>



    <p>这是一段测试内容</p>


代码运行结果如下图所示:

css偽選擇器學習之偽元素選擇器解析

如上述示例代码所示,::before伪元素和::after伪元素通常会配合content属性来为该元素增加装饰内容。

content属性用于在元素的::before伪元素和::after伪元素中插入内容。该属性具有的值如下所示:

  • none:不会产生伪类元素。

  • normal::before伪元素和::after伪类元素中会被视为 none。

  • text:文本内容。

  • url:格式为url(),指定一个外部资源(比如图片)。如果该资源或图片不能显示,它就会被忽略或显示一些占位。

::first-letter和::first-line伪元素

::first-letter::first-line伪元素分别匹配文本的第一个字和第一行的样式内容。示例代码如下:

nbsp;html>



    <meta>
    <meta>
    <meta>
    <title>::first-letter和::first-line伪元素</title>
    <style>
        /* 匹配第一行 */
        p::first-line {
            background-color: lightcoral;
        }

        /* 匹配第一个字 */
        p::first-letter {
            font-size: 130%;
        }
    </style>



    <p>我如果爱你——绝不像攀援的凌霄花,借你的高枝炫耀自己;</p>


代码运行结果如下图所示:

css偽選擇器學習之偽元素選擇器解析

值得注意的是::first-letter::first-line伪元素可以使用的CSS属性是有限制的。

::first-letter选择器可以设置的CSS属性:

  • font属性

  • color属性

  • background属性

  • margin属性

  • padding属性

  • border属性

  • text-decoration属性

  • vertical-align属性

  • text-transform属性

  • line-height属性

  • float属性

  • clear属性

::first-line选择器可以设置的CSS属性:

  • font属性

  • color属性

  • background属性

  • word-spacing属性

  • letter-spacing属性

  • text-decoration属性

  • vertical-align属性

  • text-transform属性

  • line-height属性

  • clear属性

::selection伪元素

::selection伪元素的作用是匹配用户在HTML页面选中的文本内容(比如使用鼠标或其他选择设备选中的部分)设置高亮效果。如下示例代码展示了::selection伪元素的用法:

nbsp;html>



    <meta>
    <meta>
    <meta>
    <title>::first-letter和::first-line伪元素</title>
    <style>
        p::selection {
            color: gold;
            background-color: red;
        }
    </style>



    <p>我如果爱你——绝不像攀援的凌霄花,借你的高枝炫耀自己;</p>


代码运行结果如下图所示:

css偽選擇器學習之偽元素選擇器解析

::placeholder伪元素

伪元素 ::placeholder 用来设置表单元素(

<!DOCTYPE html>
<html>
<head>
    <style>
        input.text::placeholder{
            color: red;
            background-color: #CCC;
        }
    </style>
</head>
<body>
    <input placeholder="请输入一段文本">未使用伪元素 ::placeholder<br>
    <input placeholder="请输入一段文本" class="text">使用伪元素 ::placeholder 的效果
</body>
</html>

代码运行结果如下图所示:

css偽選擇器學習之偽元素選擇器解析

(学习视频分享:web前端入门

偽元素
p::selection 符合使用者選擇的元素部分
input::placeholder 符合每個表單輸入框(例如)的placeholder 屬性

以上是css偽選擇器學習之偽元素選擇器解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
位置粘性和桌子標頭位置粘性和桌子標頭Apr 19, 2025 am 11:21 AM

您可以位置:粘性;一個

每周平台新聞:HTML在搜索控制台,全局腳本範圍中的HTML檢查,Babel Envs添加默認查詢查詢每周平台新聞:HTML在搜索控制台,全局腳本範圍中的HTML檢查,Babel Envs添加默認查詢查詢Apr 19, 2025 am 11:18 AM

在本週的Web平台新聞世界中,Google搜索控制台可以更輕鬆地查看爬行的標記,我們了解到自定義屬性

Indieweb和網絡企業Indieweb和網絡企業Apr 19, 2025 am 11:16 AM

Indieweb是一回事!他們將舉行會議和一切。紐約客甚至在寫這件事:

(開發人員)增長模型(開發人員)增長模型Apr 19, 2025 am 11:08 AM

我真的很喜歡Dennis Hambeukers的帖子“設計師的成長模式”。丹尼斯只是發明了這種模型,但它基於一些現有想法,這一切

鬧鬼:Web組件的掛鉤鬧鬼:Web組件的掛鉤Apr 19, 2025 am 11:06 AM

我只是和戴夫聊天,他告訴我關於鬼魂的聊天。它的鉤子,但適用於本機Web組件!很酷。我認為這樣的東西存在

每周平台新聞:活動時機,網絡的Google Earth,不死會話cookie每周平台新聞:活動時機,網絡的Google Earth,不死會話cookieApr 19, 2025 am 10:57 AM

在本週的新聞中,Wikipedia有助於識別三個慢單擊處理程序,Google Earth進入網絡,CSS中的SVG屬性獲得了更多的支持,以及在殭屍cookies的情況下該怎麼做。

純CSS的多線截斷純CSS的多線截斷Apr 19, 2025 am 10:50 AM

本文中的訣竅仍然非常整潔又聰明,但是現在有一種標準化的方法可以做到這一點,這可能是您最好的選擇。

CSS動畫庫CSS動畫庫Apr 19, 2025 am 10:46 AM

有很多庫希望幫助您在網絡上進行動畫操作。這些是真正幫助您使用語法或的圖書館

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境