這次帶給大家偽元素::before與::after使用詳解,使用偽元素::before與::after的注意事項有哪些,下面就是實戰案例,一起來看一下。
前言
眾所周知::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*/ <p><i></i><span>删除</span></p>
但是放個空的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*/ <p><span>删除</span></p>
這裡就直接用::before偽元素取代了空的i 標籤,兩者效果相同:
同樣利用這一點,我們可以使用::after偽元素解決經典清除浮動的問題:
.clearfix::after{ display:block; clear:both; content:""; overflow:hidden; height: 0; }
當然,如果你網站還需要相容IE8,那還是用:after吧,::after不相容。
二、在元素中插入文字
有時候我可能需要在許多元素中同時加入相同的文字,那麼可以考慮用這兩個偽元素。例如:
/*CSS*/ .up:after{ content: '↑'; color: #f00;} .down:after{ content: '↓'; color: #0f0;}
/*HTML*/ <p>上升</p> <p>下降</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>
- 1.吃饭
- 2.睡觉
- 3.打豆豆
/*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{ list-style: none; counter-increment: number;} ul li::before{ content: counter(number,cjk-ideographic)"、"; font-weight: bold;}###效果如下:###############除了這個cjk-ideographic,你還可以使用更多CSS中###list-style-type####屬性:(直接貼上w3cshool裡面的表格)###############我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章! ######推薦閱讀:###
以上是偽元素::before與::after使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

學習如何構建GraphQL API可能具有挑戰性。但是您可以學習如何在10分鐘內使用GraphQL API!碰巧的是,我得到了完美的

這裡是Yuanchuan的一些合法CSS騙局。有此CSS屬性偏移路徑。曾幾何時,它被稱為Motion-Path,然後被更名。我


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器