久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

CSS3中偽元素::before和::after的用法示例

before 和 after其實就是附著在元素前后的偽元素,說他是偽元素的意思就是,元素不是在DOM中生成的,而是在瀏覽器渲染引擎渲染CSS的時候畫上去的,這篇文章主要給大家介紹了關于CSS

前言

眾所周知::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 標簽,兩者效果相同:

CSS3中偽元素::before和::after的用法示例

同樣利用這一點,我們可以使用::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 class="up">上升</p>
<p class="down">下降</p>

實現效果如下:

CSS3中偽元素::before和::after的用法示例

三、在元素中插入圖像

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

/*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下的效果:

CSS3中偽元素::before和::after的用法示例

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

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

/*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>

效果如下:

CSS3中偽元素::before和::after的用法示例

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

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

本篇文章主要介紹了詳解CSS3 rem(設置字體大小) 教程,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了CSS3 linear-gradient線性漸變生成加號和減號的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要介紹了CSS mask-image屬性詳細介紹(小結)的相關資料,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了css3中的漸進增強和優雅降級的相關資料,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了淺談css3新單位vw、vh、vmin、vmax的使用詳解的相關資料,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了淺談css3中calc在less編譯時被計算的解決辦法的相關資料,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
主站蜘蛛池模板: 黑色丝袜三级在线播放 | 成人激情视频免费在线观看 | 午夜天堂| 日本精品一区二区三区在线观看视频 | 中文字字幕一区二区三区四区五区 | 国产一区二区三区在线 | 成人av在线播放 | 欧美高清视频一区 | 99视频在线| 欧美一级二级三级 | 69热视频在线观看 | 国产精品高潮呻吟久久 | 欧美在线一区二区视频 | 日韩在线资源 | 欧日韩在线 | 日韩精品人成在线播放 | 日韩91| 久久久精品视 | 午夜av电影| 国产一区二区三区视频 | 日本aaaa| 91精品国产91综合久久蜜臀 | 国产精品中文 | 激情a| 综合五月婷 | 亚洲国产精品精华素 | 99re视频在线免费观看 | 九九热这里只有精品在线观看 | 99综合 | 人人爽日日躁夜夜躁尤物 | 777zyz色资源站在线观看 | 精品国产乱码久久久久久中文 | 毛片网站在线观看 | 国产精品亚洲一区 | 一级黄色片在线免费观看 | 精品国产免费人成在线观看 | 成人在线精品视频 | 成人免费三级电影 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 91精品国产综合久久久久久首页 | 欧美激情久久久久久 |