CSS :befor :after 偽元素的巧妙用法

本篇重點(diǎn)介紹CSS中的:befor、:after創(chuàng)建的偽元素幾種使用場景,如填充文本、作為iconfont、進(jìn)度線、時(shí)間線以及幾何圖形。
1. 介紹
1.1 說明
CSS中的:befor、:after都會(huì)創(chuàng)建一個(gè)偽元素,其中:befor創(chuàng)建的偽元素是所選元素的第一個(gè)子元素,:after創(chuàng)建的偽元素是所選元素的最后一個(gè)子元素。
:befor、:after創(chuàng)建的偽元素默認(rèn)樣式為內(nèi)聯(lián)樣式。
1.2 語法
/* CSS3 */ selector::before /* CSS2 */ selector:before
CSS3引入了 ::(兩個(gè)冒號(hào))是用來區(qū)分偽類(:一個(gè)冒號(hào))和偽元素(::兩個(gè)冒號(hào))。
偽類:操作元素本身,如 :hover、:first-child、:focus等等。
偽元素:操作元素的子元素,如 ::before、::after、::content等等。
在IE8中只支持:(一個(gè)冒號(hào)),所以為了兼容這些瀏覽器也可以使用 :befor、:after。
1.3 content屬性
content 屬性表示偽元素填充的內(nèi)容。
示例
CSS:
.test-div { width: 100px; height: 100px; margin-left: 20px; background-color: #eee; } .test-div::before { content: "♥"; color: red; } .test-div::after { content: "♥"; color: blue; }
HTML頁面:
效果:
1.4 可替換元素
可替換元素(replaced element):其展現(xiàn)不由CSS來控制的。這些元素是一類外觀渲染獨(dú)立于CSS的對(duì)象。
典型的可替換元素有<iframe>、<img>、 <object>、 <video> 以及 表單元素,如<textarea>、 <input> 。
某些元素只在一些特殊情況下表現(xiàn)為可替換元素,例如 <audio> 和 <canvas> 。
:befor :after 在此類元素內(nèi)是不生效的。
1.5 瀏覽器支持情況
IE9版本才開始完全支持 :befor :after ,Chrome、Firefox現(xiàn)都已全線支持。
IE Edge Firefox Chrome Android Chrome iOS Safari 9 all 2 all all all
2. 應(yīng)用場景
2.1 支持文本字符
說明:content屬性支持文本字符。
示例:
2.2 支持iconfont
說明:content屬性也支持iconfont字體圖表的展示。這也是使用最多的場景。
示例:此示例已引用了阿里iconfont圖標(biāo)庫
2.3 進(jìn)度線與時(shí)間線
說明::befor :after創(chuàng)建的偽元素可以以線條方式定位在元素周邊的指定位置上,如進(jìn)度線和時(shí)間線。
1) 進(jìn)度線
2) 時(shí)間線
2.4 幾何圖形
說明:通過設(shè)置 :befor :after 偽元素的border相關(guān)屬性,可創(chuàng)建非常多的幾何圖形;如三角形、多邊形、五角星等等。
1) 矩形
說明:默認(rèn)情況下,:befor :after 偽元素的border邊框?qū)傩耘c其他HTML元素一樣。
CSS:
div::before { width: 0px; height: 0px; content: ''; position: absolute; border-top: 50px solid #f50000; border-right: 50px solid #6cc361; border-bottom: 50px solid #6167c3; border-left: 50px solid #fa00d9; }
效果:
2) 三角形
說明:顯示某一方位的border,并隱藏左右2邊的border(背景設(shè)置為透明),可讓偽元素顯示三角形的形狀。
示例:
總結(jié)
以上所述是小編給大家介紹的CSS :befor :after 偽元素的巧妙用法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
- 這篇文章主要介紹了CSS 列表模型之marker標(biāo)記的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2020-07-23
- 這篇文章主要介紹了淺談CSS 偽元素&偽類的妙用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2020-09-01
什么是BFC? CSS 使用偽元素清除浮動(dòng)的方法
塊級(jí)格式化上下文,是一個(gè)獨(dú)立的渲染區(qū)域,讓處于 BFC 內(nèi)部的元素與外部的元素相互隔離,使內(nèi)外元素的定位不會(huì)相互影響。這篇文章給大家介紹了CSS 使用偽元素清除浮動(dòng)的方2019-07-01- before 和 after其實(shí)就是附著在元素前后的偽元素,說他是偽元素的意思就是,元素不是在DOM中生成的,而是在瀏覽器渲染引擎渲染CSS的時(shí)候畫上去的,這篇文章主要給大家介紹2017-09-18
- 本文介紹了什么是 ::marker 以及它的一些實(shí)用場景,可以看出雖然 ::before 、::after 也能實(shí)現(xiàn)類似的功能,但 CSS 還是提供了更具有語義化的標(biāo)簽 ::marker,也表明了大家需2021-06-25