首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

IE6/7上form元素默认样式导致的bug

2012-11-10 
IE6/7下form元素默认样式导致的bugBug重现???IE6/7下以上两个div会断开,大概有10-20个px,截图如下:??IE8/F

IE6/7下form元素默认样式导致的bug

Bug重现

?

?

?

IE6/7下以上两个div会断开,大概有10-20个px,截图如下:

?

IE6/7上form元素默认样式导致的bug

?

IE8/Firefox3.6/Safari4/Chrome7 dev/Opera10 则不会断开

?

去掉form或将form换成div则不会,初以为是form在IE6/7下的莫名bug,经路神,猪大肠等指点明白了。

?

首先,IE6/7下form的默认样式中margin不为0, 分别为1.12em 0,14.25pt 0。

见:http://css-class.com/test/css/defaults/UA-style-sheet-defaults.htm

?

再次,form的margin会发生塌陷,跑到父元素的外了,因此两个div之间断裂出现空白了。

?

关于margin塌陷见css 8.3.1:http://www.w3.org/TR/CSS2/box.html#collapsing-margins

?

?

因此,写css reset时莫忘了重置form元素。

?

感谢他们两个。

?

?

?

?

1 楼 darwintest 2010-09-16   恩,form本来边距就不是0,最近刚做web发现的 2 楼 askjsp 2010-09-17   so at the begining put a *{margin:0;padding:0;}

热点排行