IE6下margin雙倍邊距
阿新 • • 發佈:2019-01-22
開始工作之後任務都是要求相容所有瀏覽器,之前都在IE8+版本上相容,大概瞭解些IE6的bug但一直也沒實際遇到過 .. 藉此機會,把我遇到的所有ie bug記錄下來 ~ 共勉 !
觸發條件:
浮動元素的浮動方向和margin的方向一致 .
{ float : right; margin-right:100px;} { float : left; margin-left:100px;}
只有第一個元素會這樣
解決辦法
給元素加
display:inline
{ float : left; margin-left:-100px; display:inline}
加一個hack,取值為正常值的一半
{ float : left; margin-left : -100px; margin-left : -50px;}
用
padding-
替代margin-
(結合實際佈局)
我是在三欄佈局中遇到左浮動第一欄在IE6下消失的問題,試了一會才想起來應該是margin雙邊距問題, 確實如此。
.left-container { float:left; width:350px; margin-left:-350px; display:inline; } .main-container { float:left; min-width:1350px; padding-left:350px; padding-right:330px; } .right-container { float:left; width:330px; margin-right:-330px; }
原因
大大說是由於BFC特性,我再好好學習一下。