目錄
一、與普通元素一樣可以給其添加樣式
二、在元素中插入文字
#三、在元素中插入圖像
四、插入連續項目編號
首頁 web前端 html教學 偽元素::before與::after的用法實例教程

偽元素::before與::after的用法實例教程

Jun 26, 2017 am 11:53 AM
after before 元素 用法

::before與::after兩個偽元素其實是CSS3中的內容,然而實際上在CSS2中就已經有了這兩者的身影,只不過CSS2中是前面加一個冒號來表示(: before和:after)。今天主要講講這兩個偽元素該如何使用。

一、與普通元素一樣可以給其添加樣式

比如說我想在文字前面添加一個圖標,如果我用普通元素寫的話我可以這樣寫:

/*CSS*/.del{ font-size: 20px;}.del i{ display: inline-block; width: 20px; height: 25px; margin-right: 2px; vertical-align: middle; background: url("imgs/delete.png") no-repeat center; background-size: 100%;}.del span{ vertical-align: middle;}
登入後複製
/*HTML*/
<div class="del"><i></i><span>删除</span></div>
登入後複製

但放個空的i 標籤總覺得很不爽,直接把它去掉吧!

/*CSS*/.del{ font-size: 20px;}.del::before{ content: ""; display: inline-block; width: 20px; height: 25px; margin-right: 2px; vertical-align: middle; background: url("imgs/delete.png") no-repeat center; background-size: 100%;}.del span{ vertical-align: middle;}
登入後複製
/*HTML*/
<div class="del"><span>删除</span></div>
登入後複製

這裡就直接用::before偽元素取代了空的i 標籤,兩者效果相同:

同樣利用這一點,我們可以使用::after偽元素解決經典清除浮動的問題:

.clearfix::after{ display:block; clear:both; content:""; overflow:hidden; height:0; }
登入後複製

當然,如果你網站還需要相容IE8,那還是用:after吧,::after不相容。

二、在元素中插入文字

有時候我可能需要在許多元素中同時加入相同的文字,那麼可以考慮用這兩個偽元素。例如:

/*CSS*/.up:after{ content: &#39;↑&#39;; color: #f00;}.down:after{ content: &#39;↓&#39;; color: #0f0;}
登入後複製
/*HTML*/
<p class="up">上升</p>
<p class="down">下降</p>
登入後複製

實現效果如下:

#三、在元素中插入圖像

實作類似本文第一個例子中的圖片加文字效果,也可以使用偽元素直接插入圖片而不需要使用背景圖,就像這樣:

/*CSS*/.del{ font-size: 20px;}.del::before{ content: url("imgs/delete.png"); display: inline-block; margin-right: 2px; vertical-align: middle; }.del span{ vertical-align: middle;}
登入後複製

但是需要非常注意的是,使用這種方式插入的圖片並不能透過控制偽元素的大小來改變圖片的大小,只能引入固定大小的圖片(這個略坑啊...),所以個人覺得最好還是老實實用背景圖片比較好。

四、插入連續項目編號

可能你會說,加入連續項目編號還不簡單嗎?直接用有序列表ol不就行了嘛!

是,確實是可以實現,就像這樣:

<p>我的爱好:</p><ol><li>吃饭</li><li>睡觉</li><li>打豆豆</li></ol>
登入後複製

這是Chrome下的效果:


看起來挺好,沒啥問題,那我若想給前面的序號加粗呢?一臉懵逼了...

這時候你說,那我直接在每條文字前手動加標籤和數字,然後給標籤加上樣式不就行了麼?

/*CSS*/ul li{ list-style: none;}ul li span{ font-weight: bold;}
登入後複製
/*HTML*/<p>我的爱好:</p><ul><li><span>1.</span>吃饭</li><li><span>2.</span>睡觉</li><li><span>3.</span>打豆豆</li></ul>
登入後複製

沒錯,現在是三條,要是三十條,三百條,怎麼辦?一條條加? (很傻很天真...)

這時候若用純CSS的方式,還得用到偽元素:

/*CSS*/ul li{ list-style: none; counter-increment: number;}   //number相当于是个变量,随便取名就好,在伪元素中调用ul li::before{ content: counter(number)"."; font-weight: bold;}  //注意这里不同于JS,counter(number)与"."之间不需要加任何东西,直接连接就好
登入後複製
/*HTML*/<p>我的爱好:</p><ul><li>吃饭</li><li>睡觉</li><li>打豆豆</li></ul>
登入後複製

效果如下:

那我如果不要阿拉伯數字,我就想用中文數字可以麼?

可以!偽元素很好很強大!

ul li{ list-style: none; counter-increment: number;}  
ul li::before{ content: counter(number,cjk-ideographic)"、"; font-weight: bold;}
登入後複製

效果如下:

除了這個cjk-ideographic,你還可以使用更多CSS中list-style-type屬性:(直接貼上w3cshool裡面的表格)


以上是偽元素::before與::after的用法實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱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 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

解析JSP註解的使用方法和分類 解析JSP註解的使用方法和分類 Feb 01, 2024 am 08:01 AM

JSP註解的分類及用法解析JSP註解分為兩種:單行註解:以結尾,只能註解單行程式碼。多行註解:以/*開頭,以*/結尾,可以註解多行程式碼。單行註解範例多行註解範例/**這是一段多行註解*可以註解多行程式碼*/JSP註解的用法JSP註解可以用來註解JSP程式碼,使其更易於閱

如何正確使用C語言的exit函數 如何正確使用C語言的exit函數 Feb 18, 2024 pm 03:40 PM

c語言exit函數怎麼用,需要具體程式碼範例在C語言中,我們常常需要在程式中提前終止程式的執行,或是在某個特定的條件下退出程式。 C語言提供了exit()函數來實作這個功能。本文將介紹exit()函數的用法,並提供對應的程式碼範例。 exit()函數是C語言中的標準函式庫函數,它包含在頭檔中。它的作用是終止程式的執行,並且可以帶一個整數

WPSdatedif函數的用法 WPSdatedif函數的用法 Feb 20, 2024 pm 10:27 PM

WPS是一款常用的辦公室軟體套件,其中的WPS表格功能被廣泛用於資料處理和計算。在WPS表格中,有一個非常有用的函數,即DATEDIF函數,它用於計算兩個日期之間的時間差。 DATEDIF函數是英文單字DateDifference的縮寫,它的語法如下:DATEDIF(start_date,end_date,unit)其中,start_date表示起始日期

MySQL ISNULL 函數詳解及用法介紹 MySQL ISNULL 函數詳解及用法介紹 Mar 01, 2024 pm 05:24 PM

MySQL中的ISNULL()函數是用來判斷指定表達式或列是否為NULL的函數。它傳回一個布林值,如果表達式為NULL則回傳1,否則回傳0。 ISNULL()函數可以在SELECT語句中使用,也可以在WHERE子句中進行條件判斷。 1.ISNULL()函數的基本語法:ISNULL(expression)其中,expression是要判斷是否為NULL的表達式或

使用蘋果快速指令的方法 使用蘋果快速指令的方法 Feb 18, 2024 pm 05:22 PM

蘋果快捷指令怎麼用隨著科技的不斷發展,手機成為了人們生活中不可或缺的一部分。而在眾多手機品牌中,蘋果手機憑藉其穩定的系統和強大的功能一直備受用戶的喜愛。其中,蘋果快捷指令這項功能更是讓用戶的手機使用體驗更加便利和有效率。蘋果快捷指令是蘋果公司為其iOS12及更高版本推出的一項功能,透過建立和執行自訂指令,幫助用戶簡化手機操作流程,以達到更有效率的工作和

解析SQL中使用distinct關鍵字 解析SQL中使用distinct關鍵字 Feb 18, 2024 pm 09:21 PM

SQL中distinct用法詳解在SQL資料庫中,我們常常會遇到需要移除重複資料的情況。此時,我們可以使用distinct關鍵字,它能夠幫助我們去除重複數據,使得查詢結果更加清晰和準確。 distinct的基本使用方法非常簡單,只需要在select語句中使用distinct關鍵字即可。例如,以下是一個普通的select語句:SELECTcolumn_name

CSS變形:如何實現元素的旋轉效果 CSS變形:如何實現元素的旋轉效果 Nov 21, 2023 pm 06:36 PM

CSS變形:如何實現元素的旋轉效果,需要具體程式碼範例在網頁設計中,動畫效果是提高使用者體驗和吸引使用者註意力的重要方式之一,而旋轉動畫是其中比較經典的一種。在CSS中,使用「transform」屬性可以實現元素的各種變形效果,包括旋轉。本文將詳細介紹如何利用CSS的「transform」實現元素的旋轉效果,並提供具體的程式碼範例。一、如何使用CSS的「transf

使用CSS Transform進行元素的變換 使用CSS Transform進行元素的變換 Feb 24, 2024 am 10:09 AM

CSS中Transform的用法CSS的Transform屬性是一種非常強大的工具,可以對HTML元素進行平移、旋轉、縮放和傾斜等操作。它可以大大改變元素的外觀,使網頁更有創意和動態。在本文中,我們將詳細介紹Transform的各種用法,並提供具體的程式碼範例。一、平移(Translate)平移是指將元素沿著x軸和y軸移動指定的距離。它的語法如下:tran

See all articles