日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

定义了浮动元素后margin-bottom失效的解决办法

發布時間:2025/5/22 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 定义了浮动元素后margin-bottom失效的解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

雖然IE6慢慢的退出市場了,但是還是有必要了解一些兼容問題,讓自己的知識有一個更好的沉淀。margin-bottom的bug是容器div的?'zoom:1'?觸發了?hasLayout,其內部浮動子元素也參與到了容器的高度計算之中。

在?IE6?IE7?IE8(Q)中,容器div的?'zoom:1'?觸發了?hasLayout,其內部浮動子元素也參與到了容器的高度計算之中。但是浮動子元素設置的?'margin-bottom'?消失;

在其他瀏覽器中,容器的?'overflow:hidden'?創建了新的?Block?Formatting?Context?,同樣,其內部浮動子元素也參與到了容器的高度計算之中。浮動子元素的四個方向的?margin?均正常。

例子:第一個div子元素設置了底部的margin值,在清除浮動之后無效

<!doctype?html> <html> <head> <meta?charset="UTF-8"> <title>浮動元素的影響</title> <style> *{margin:?0;padding:?0;} .con-float-box{ width:?600px; border:?1px?solid?#f00; } .con-float-box?div{ float:?left; width:?198px; height:?98px; margin:?20px?0; border:?1px?solid?#00f; } .box-pos{ width:?600px; height:?100px; margin-top:?10px; border:?1px?solid?#000; background:?#ccf; } .clearfix:before,.clearfix:after?{ content:?"\200B"; display:?block; height:?0; overflow:?hidden; } .clearfix:after?{clear:?both;} </style> </head> <body> <div?class='con-float-box?clearfix'> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> </div> <div?class='box-pos'>為第一個div設置了清除浮動的類clearfix,進行了相應的處理,此時,在谷歌瀏覽器當中正常,但是在IE6,依舊不正常,第7和第8個塊底部的margin沒有生效。</div> </body> </html>

?

解決方案

為容器顯式地設置高度。若容器高度不定,則要避免在觸發了?hasLayout?的容器內的浮動子元素上設置?'margin-bottom'?特性,可以通過為容器設置?'padding-bottom'?達到相似的效果。

只要不同時觸發父元素hasLayout、子元素左浮動、左浮動子元素擁有非零的?margin-bottom?值,這三個條件中任意一項,均可解決此問題。

以上就是今天E良師益友網對定義了浮動元素margin-bottom失效的解決辦法詳解了。


轉載于:https://my.oschina.net/zhouhang0907/blog/548455

總結

以上是生活随笔為你收集整理的定义了浮动元素后margin-bottom失效的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。