IE6 float:left margin-left出現兩倍像素

在IE6下(標準模式/怪異模式)
一個元素向左浮動(float:left),且添加了向左空白邊(margin-left:10px),那么會自動的加一倍變成30px 。
例:

復制代碼代碼如下:
!DOCTYPE HTML
html
head
meta charset="utf-8"
titleIE6雙空白邊Bug/title
/head
body
div style="border:1px solid red;width:200px;"
div id="d1" style="margin:0 0 0 10px;float:left;border:1px solid gray;"
IE6雙空白邊bug
/div
div style="clear:both;"/div
/div
/body
/html

解決方法:
給div[id=d1]加:display:inline,當然只針對IE6一下,可以使用下劃線加屬性-display:inline , 這樣只有IE6能識別了 。
邊距翻倍只有當元素的邊距碰到包含塊時才發生 。當一個元素被浮動到另一個浮動元素時不會翻倍 。另marginTop和marginBottom都不會翻倍 。

相關經驗推薦