亚洲一区二区观看播放-疯狂做受xxxx高潮欧美日本-国产极品粉嫩泬免费观看-暖暖www视频免费高清最新期

Web前端知識(shí)

首頁(yè) > 免費(fèi) > Web前端知識(shí) >

CSS技巧——清除浮動(dòng)方法

來(lái)源:北京匯仁智杰科技有限公司   時(shí)間:2016-11-15   點(diǎn)擊: 次

什么是CSS清除浮動(dòng)?

在非IE瀏覽器(如Firefox)下,當(dāng)容器的高度為auto,且容器的內(nèi)容中有浮動(dòng)(float為left或right)的元素,在這種情況下,容器的高度不能自動(dòng)伸長(zhǎng)以適應(yīng)內(nèi)容的高度,使得內(nèi)容溢出到容器外面而影響(甚至破壞)布局的現(xiàn)象。這個(gè)現(xiàn)象叫浮動(dòng)溢出,為了防止這個(gè)現(xiàn)象的出現(xiàn)而進(jìn)行的CSS處理,就叫CSS清除浮動(dòng)。

引用W3C的例子,news容器沒(méi)有包圍浮動(dòng)的元素。

什么是CSS清除浮動(dòng)?

在非IE瀏覽器(如Firefox)下,當(dāng)容器的高度為auto,且容器的內(nèi)容中有浮動(dòng)(float為left或right)的元素,在這種情況下,容器的高度不能自動(dòng)伸長(zhǎng)以適應(yīng)內(nèi)容的高度,使得內(nèi)容溢出到容器外面而影響(甚至破壞)布局的現(xiàn)象。這個(gè)現(xiàn)象叫浮動(dòng)溢出,為了防止這個(gè)現(xiàn)象的出現(xiàn)而進(jìn)行的CSS處理,就叫CSS清除浮動(dòng)。

引用W3C的例子,news容器沒(méi)有包圍浮動(dòng)的元素。

優(yōu)點(diǎn):簡(jiǎn)單,代碼少,瀏覽器兼容性好。

缺點(diǎn):需要添加大量無(wú)語(yǔ)義的html元素,代碼不夠優(yōu)雅,后期不容易維護(hù)。

方法二:使用CSS的overflow屬性

給浮動(dòng)元素的容器添加overflow:hidden;或overflow:auto;可以清除浮動(dòng),另外在 IE6 中還需要觸發(fā) hasLayout ,例如為父元素設(shè)置容器寬高或設(shè)置 zoom:1。

在添加overflow屬性后,浮動(dòng)元素又回到了容器層,把容器高度撐起,達(dá)到了清理浮動(dòng)的效果。

方法三:給浮動(dòng)的元素的容器添加浮動(dòng)

給浮動(dòng)元素的容器也添加上浮動(dòng)屬性即可清除內(nèi)部浮動(dòng),但是這樣會(huì)使其整體浮動(dòng),影響布局,不推薦使用。

方法四:使用鄰接元素處理

什么都不做,給浮動(dòng)元素后面的元素添加clear屬性。

方法五:使用CSS的:after偽元素

結(jié)合 :after 偽元素(注意這不是偽類,而是偽元素,代表一個(gè)元素之后最近的元素)和 IEhack ,可以完美兼容當(dāng)前主流的各大瀏覽器,這里的 IEhack 指的是觸發(fā) hasLayout。

給浮動(dòng)元素的容器添加一個(gè)clearfix的class,然后給這個(gè)class添加一個(gè):after偽元素實(shí)現(xiàn)元素末尾添加一個(gè)看不見(jiàn)的塊元素(Block element)清理浮動(dòng)。

通過(guò)CSS偽元素在容器的內(nèi)部元素最后添加了一個(gè)看不見(jiàn)的空格"020"或點(diǎn)".",并且賦予clear屬性來(lái)清除浮動(dòng)。需要注意的是為了IE6和IE7瀏覽器,要給clearfix這個(gè)class添加一條zoom:1;觸發(fā)haslayout。

總結(jié)

通過(guò)上面的例子,我們不難發(fā)現(xiàn)清除浮動(dòng)的方法可以分成兩類:

一是利用 clear 屬性,包括在浮動(dòng)元素末尾添加一個(gè)帶有 clear: both 屬性的空 div 來(lái)閉合元素,其實(shí)利用 :after 偽元素的方法也是在元素末尾添加一個(gè)內(nèi)容為一個(gè)點(diǎn)并帶有 clear: both 屬性的元素實(shí)現(xiàn)的。

二是觸發(fā)浮動(dòng)元素父元素的 BFC (Block Formatting Contexts, 塊級(jí)格式化上下文),使到該父元素可以包含浮動(dòng)元素,關(guān)于這一點(diǎn)。

推薦

在網(wǎng)頁(yè)主要布局時(shí)使用:after偽元素方法并作為主要清理浮動(dòng)方式;在小模塊如ul里使用overflow:hidden;(留意可能產(chǎn)生的隱藏溢出元素問(wèn)題);如果本身就是浮動(dòng)元素則可自動(dòng)清除內(nèi)部浮動(dòng),無(wú)需格外處理;正文中使用鄰接元素清理之前的浮動(dòng)。
最后可以使用相對(duì)完美的:after偽元素方法清理浮動(dòng),文檔結(jié)構(gòu)更加清晰。

網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣?。”本﹨R仁智杰科技有限公司!

地址:北京市昌平區(qū)回龍觀龍冠大廈5層
咨詢:15201492965
業(yè)務(wù)QQ:373002979
E - mail:sales @ huirenzhijie.com
企業(yè)網(wǎng)站備案:京ICP備15021091號(hào)-1

匯仁智杰與眾不同

  • 有網(wǎng)絡(luò)推廣經(jīng)驗(yàn)
  • 有網(wǎng)站建站隊(duì)伍
  • 有大型網(wǎng)站建設(shè)經(jīng)驗(yàn)
  • 致力于營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
  • 始終堅(jiān)持技術(shù)和服務(wù)同樣重要
查看PC版網(wǎng)站
備案號(hào):京ICP備15021091號(hào)-1 版權(quán)所有:匯仁智杰