原文地址:margin系列之bug巡演 by @doyoecss
這當是IE6最爲經典的bug之一。post
來看看詳細的代碼吧: spa
HTMLcode
<div id="demo"> <p>IE6下浮動方向上的margin值將會雙倍於其指定值</p> </div>
CSSblog
#demo { overflow: hidden; width: 400px; margin: auto; padding: 10px 0; background: #ddd; } #demo p { float: left; margin-left: 10px; background: #aaa; }
double margin
並不會發生在全部的浮動元素上,同個包含塊內,在相同的浮動方向上,它只發生在第一個浮動元素上。get
HTMLclass
<div id="demo"> <p>第一個float:left</p> <p>第二個float:left</p> <p>第三個float:left</p> </div>
CSSbug
#demo { overflow: hidden; width: 400px; margin: auto; padding: 10px 0; background: #ddd; } #demo p { float: left; margin-left: 10px; background: #aaa; }
HTMLfloat
<div id="demo"> <p class="a">1 float:left</p> <p class="b">2 float:left</p> <p class="c">3 float:right</p> <p class="d">4 float:right</p> </div>
CSS方法
#demo { overflow: hidden; width: 400px; margin: auto; padding: 10px 0; background: #ddd; } #demo .a, #demo .b{ float:left; margin-left:10px; } #demo .c, #demo .d{ float:right; margin-right:10px; }
方法一:
_margin-left
#demo p { float: left; margin-left: 10px; _margin-left: 5px; background: #aaa; }
方法二:
#demo p { float: left; margin-left: 10px; /*_margin-left: 5px;*/ _display: inline; background: #aaa; }