原文地址: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; }