摘要:清除浮動(dòng)原因前端布局用的最多的是脫離文檔流,浮動(dòng)起來。浮動(dòng)的框可以左右移動(dòng),直到遇到另一個(gè)浮動(dòng)框或者遇到外邊緣的包含框。當(dāng)包含框的高度小于浮動(dòng)框的時(shí)候,此時(shí)就會(huì)出現(xiàn)高度塌陷。即為何我們需要清楚浮動(dòng)。
清除浮動(dòng)原因
前端布局用的最多的是float:脫離文檔流,浮動(dòng)起來。浮動(dòng)的框可以左右移動(dòng),直到遇到另一個(gè)浮動(dòng)框或者遇到外邊緣的包含框(BCF)。正是因?yàn)楫?dāng)元素浮動(dòng)之后,不會(huì)影響塊級(jí)元素的布局,只會(huì)影響內(nèi)聯(lián)元素布局,會(huì)造成父級(jí)元素高度坍塌。此時(shí)文檔流中的普通流就會(huì)表現(xiàn)得該浮動(dòng)框不存在一樣的布局模式。當(dāng)包含框的高度小于浮動(dòng)框的時(shí)候,此時(shí)就會(huì)出現(xiàn)高度塌陷。即為何我們需要清楚浮動(dòng)。
清除浮動(dòng)的原理 1、父級(jí)div定義偽類:after和zoomLeftRightdiv2
原理:IE8以上和非IE瀏覽器才支持:after,原理和方法2有點(diǎn)類似,zoom(IE轉(zhuǎn)有屬性)可解決ie6,ie7浮動(dòng)問題
優(yōu)點(diǎn):瀏覽器支持好,不容易出現(xiàn)怪問題(目前:大型網(wǎng)站都有使用,如:騰迅,網(wǎng)易,新浪等等)
缺點(diǎn):代碼多,不少初學(xué)者不理解原理,要兩句代碼結(jié)合使用,才能讓主流瀏覽器都支持
建議:推薦使用,建議定義公共類,以減少CSS代碼
評分:★★★★☆
LeftRightdiv2
原理:添加一個(gè)空div,利用css提高的clear:both清除浮動(dòng),讓父級(jí)div能自動(dòng)獲取到高度
優(yōu)點(diǎn):簡單,代碼少,瀏覽器支持好,不容易出現(xiàn)怪問題
缺點(diǎn):不少初學(xué)者不理解原理;如果頁面浮動(dòng)布局多,就要增加很多空div,讓人感覺很不爽
建議:不推薦使用,但此方法是以前主要使用的一種清除浮動(dòng)方法
評分:★★★☆☆
LeftRightdiv2
原理:父級(jí)div手動(dòng)定義height,就解決了父級(jí)div無法自動(dòng)獲取到高度的問題
優(yōu)點(diǎn):簡單,代碼少,容易掌握
缺點(diǎn):只適合高度固定的布局,要給出精確的高度,如果高度和父級(jí)div不一樣時(shí),會(huì)產(chǎn)生問題
建議:不推薦使用,只建議高度固定的布局時(shí)使用
評分:★★☆☆☆
LeftRightdiv2
復(fù)制代碼
原理:必須定義width或zoom:1,同時(shí)不能定義height,使用overflow:hidden時(shí),瀏覽器會(huì)自動(dòng)檢查浮動(dòng)區(qū)域的高度
優(yōu)點(diǎn):簡單,代碼少,瀏覽器支持好
缺點(diǎn):不能和position配合使用,因?yàn)槌龅某叽绲臅?huì)被隱藏
建議:只推薦沒有使用position或?qū)verflow:hidden理解比較深的朋友使用
評分:★★★☆☆
LeftRightdiv2
原理:必須定義width或zoom:1,同時(shí)不能定義height,使用overflow:auto時(shí),瀏覽器會(huì)自動(dòng)檢查浮動(dòng)區(qū)域的高度
優(yōu)點(diǎn):簡單,代碼少,瀏覽器支持好
缺點(diǎn):內(nèi)部寬高超過父級(jí)div時(shí),會(huì)出現(xiàn)滾動(dòng)條。
建議:不推薦使用,如果你需要出現(xiàn)滾動(dòng)條或者確保你的代碼不會(huì)出現(xiàn)滾動(dòng)條就使用吧。
評分:★★☆☆☆
LeftRightdiv2
原理:所有代碼一起浮動(dòng),就變成了一個(gè)整體
優(yōu)點(diǎn):沒有優(yōu)點(diǎn)
缺點(diǎn):會(huì)產(chǎn)生新的浮動(dòng)問題。
建議:不推薦使用,只作了解。
評分:★☆☆☆☆
LeftRightdiv2
原理:將div屬性變成表格
優(yōu)點(diǎn):沒有優(yōu)點(diǎn)
缺點(diǎn):會(huì)產(chǎn)生新的未知問題
建議:不推薦使用,只作了解
評分:★☆☆☆☆
LeftRight
div2
原理:父級(jí)div定義zoom:1來解決IE浮動(dòng)問題,結(jié)尾處加br標(biāo)簽clear:both
建議:不推薦使用,只作了解
評分:★☆☆☆☆
原文地址:(轉(zhuǎn)載請注明)
https://juejin.im/post/5abe2adb6fb9a028de44d11d
參考:
原文連接:幾種常用的清除浮動(dòng)方法
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93913.html
摘要:父元素的頂端會(huì)限制浮動(dòng)元素防止一直浮動(dòng)到頁面頂端。例子戳這里清除浮動(dòng)清除浮動(dòng)的目的是為了解決高度塌陷的問題撐開浮動(dòng)父元素。原理會(huì)在元素的之上增加一個(gè)清除區(qū)域這個(gè)區(qū)域會(huì)在元素的上增加額外間隔并且不允許浮動(dòng)元素進(jìn)入這個(gè)區(qū)域。 浮動(dòng)概念 浮動(dòng)元素會(huì)脫離文檔的普通流,根據(jù)float的值向左或向右移動(dòng),直到它的外邊界碰到父元素的內(nèi)邊界或另一個(gè)浮動(dòng)元素的外邊界為止。由于浮動(dòng)框不在文檔的普通流中,所...
摘要:浮動(dòng)為什么會(huì)有文本環(huán)繞效果產(chǎn)生這個(gè)疑問主要來自于以往的印象浮動(dòng)的元素是脫離文檔流的。也就是說,浮動(dòng)元素的確脫離了文檔流,因此文檔流中的塊框會(huì)無視浮動(dòng)的元素,但是文本不會(huì)。 作為前端寫了很多頁面布局,但是浮動(dòng)這塊一直是我似懂非懂的盲點(diǎn),一方面用浮動(dòng)能實(shí)現(xiàn)很多布局,另一方面浮動(dòng)造成的影響又會(huì)破壞布局讓人頭疼,所以今天就特地寫篇博文解決這塊盲點(diǎn)。 本文主要討論以下幾個(gè)問題:1.浮動(dòng)的原始用途...
摘要:浮動(dòng)為什么會(huì)有文本環(huán)繞效果產(chǎn)生這個(gè)疑問主要來自于以往的印象浮動(dòng)的元素是脫離文檔流的。也就是說,浮動(dòng)元素的確脫離了文檔流,因此文檔流中的塊框會(huì)無視浮動(dòng)的元素,但是文本不會(huì)。 作為前端寫了很多頁面布局,但是浮動(dòng)這塊一直是我似懂非懂的盲點(diǎn),一方面用浮動(dòng)能實(shí)現(xiàn)很多布局,另一方面浮動(dòng)造成的影響又會(huì)破壞布局讓人頭疼,所以今天就特地寫篇博文解決這塊盲點(diǎn)。 本文主要討論以下幾個(gè)問題:1.浮動(dòng)的原始用途...
閱讀 3480·2023-04-26 02:48
閱讀 1473·2021-10-11 10:57
閱讀 2499·2021-09-23 11:35
閱讀 1206·2021-09-06 15:02
閱讀 3305·2019-08-30 15:54
閱讀 1623·2019-08-30 15:44
閱讀 891·2019-08-30 15:44
閱讀 997·2019-08-30 12:52