熟悉IE双浮动边界朋友CSS盒模型认为,错误不陌生的(如果你不是很清楚,你可以点击错误)只会导致第一浮法浮法线,因此如果第一个元素没有外浮片边缘的使用不会有双重的距离。但最近,IE已被发现的这个bug的延伸。

问题
下一个示例的所有浮动行的第一个浮动元素外部补丁余量是0。

边缘留下# left2显示正常50px


当# left2的幅度是正常的100px


然后我们增加左# left2到150px边缘,它开始有点奇怪


我们改变了# left1到110px宽度,和# left2的边缘留下继续150px


看到上面的现象,我们发现IE真的有一个字符啊,到底这个人物是怎么计算的呢事实上,仔细观察并不困难。当# left2的幅度小于或等于#左边的宽度,这是正常的,但是一旦它比它大,有一个问题。从# left2左边的距离实际上等于# left1。宽度+(# left2.margin-left # left1。宽度)×2。
解决
为了解决这个bug是很简单的,像一双距离的解决方案,并设置# left2到{显示:内联}就OK了。
总结
关键是为什么我说它是bug的扩展,因为双错误和错误算法的错误只会出现一次。

1,如果离开# left1幅度大于0,那么# left1左边界产生了双重的距离,和左后# left2保证金比# left1宽度更大。

2,如果left1的左边距等于0,# left2的余地和# left1的宽度,然后# left2的左边界误差算法的缺陷,然后有# left3,甚至# left3的幅度大小和# left2宽度会不会出错。

三.如果left1和left2左边距等于0,然后有一个# left3,和# left3(# left1和幅度大于的# left2宽度和# left3),所以左边界错误错误算法,为左边界很实用(# left1宽度+。left2。宽)* 2(left3。缘左# left1.width-left2.width #),那么所有的浮动元素后面# left3不会出错;

就在左边,右边。