課程
/前端開發(fā)
/HTML/CSS
/CSS深入理解之float浮動
看視頻里面老師說到BFC,就是加了一句? zoom:1;就是BFC寫法嗎? 那 .clearfix{ ?????? clear:both; ?????? zoom:1; }
這就是BFC清除浮動寫法嗎?
2017-01-23
源自:CSS深入理解之float浮動 7-5
正在回答
zoom:1能夠觸發(fā)haslayout特性,用于兼容IE6/7的清除浮動。但絕大多數(shù)現(xiàn)代瀏覽器不兼容。
以下是老師課程中關于清除浮動的總結,希望對你有幫助:
清除浮動的兩種基本方法:1、在高度塌陷的父元素底部插入具有clear:both聲明的元素,比如在html中插入一個多余的塊級元素div,或者插入不兼容IE6/7的CSS偽元素after。這種方法與外界有接觸,可能導致頂部margin重疊。2、觸發(fā)BFC/haslayout這兩種特性。與外界隔絕,沒有margin重疊問題。
BFC,Block formatting context是高級瀏覽器特有的概念,具有包裹性。不能應用于所有場景。
haslayout是IE6/7私有的概念。
下面是部分能夠觸發(fā)這兩種特性的屬性:?float:left/right、position:absolute/fixed、overflow:hidden/scroll (IE7+)、display:inline-block/table-cell(IE8+)、width/height/zoom:1/… (IE6/IE7)。
權衡以上問題后的清除浮動策略:
.clearfix:after { content: ''; display: block; height: 0; overflow: hidden; clear: both; }--使用CSS偽元素after,插入一個內容為空、高度為0的塊級元素來clear,并且用overflow的hidden觸發(fā)了BFC。
.clearfix { *zoom: 1; }--兼容IE6/7的寫法,觸發(fā)haslayout。
舉報
課程將會從感性的認識的角度講解CSS float屬性,浮動的前世今生
1 回答div設置overflowY:scroll,怎么獲取改div滾動后的位置
1 回答css中border的設置為什么被更改了
1 回答clear 清除浮動和 BFC清除浮動有什么區(qū)別?
5 回答margin重疊是怎么回事?是clear的BUG嗎???
1 回答為什么margin要設置一個負值和一個正值,不能直接設置一個正值嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-01-24
zoom:1能夠觸發(fā)haslayout特性,用于兼容IE6/7的清除浮動。但絕大多數(shù)現(xiàn)代瀏覽器不兼容。
以下是老師課程中關于清除浮動的總結,希望對你有幫助:
清除浮動的兩種基本方法:1、在高度塌陷的父元素底部插入具有clear:both聲明的元素,比如在html中插入一個多余的塊級元素div,或者插入不兼容IE6/7的CSS偽元素after。這種方法與外界有接觸,可能導致頂部margin重疊。2、觸發(fā)BFC/haslayout這兩種特性。與外界隔絕,沒有margin重疊問題。
BFC,Block formatting context是高級瀏覽器特有的概念,具有包裹性。不能應用于所有場景。
haslayout是IE6/7私有的概念。
下面是部分能夠觸發(fā)這兩種特性的屬性:?float:left/right、position:absolute/fixed、overflow:hidden/scroll (IE7+)、display:inline-block/table-cell(IE8+)、width/height/zoom:1/… (IE6/IE7)。
權衡以上問題后的清除浮動策略:
.clearfix:after { content: ''; display: block; height: 0; overflow: hidden; clear: both; }--使用CSS偽元素after,插入一個內容為空、高度為0的塊級元素來clear,并且用overflow的hidden觸發(fā)了BFC。
.clearfix { *zoom: 1; }--兼容IE6/7的寫法,觸發(fā)haslayout。