以下是我正在处理的示例页面:http://rivalroo.benlwilliams.com/create.html
如果您在IE7或IE8兼容模式下查看,您会看到第二列和第三列输入字段似乎想要继承包含div的左边距100px。即使将输入字段的左边距分配给0,它仍然会应用这个神秘的左边距为100px,但在IE的检查器中没有显示。
如果我删除了列div的左边距,那么它排列就好了,这就是为什么第一列的字段排列正确。
有人有这个IE7错误的解决方案吗?
答案 0 :(得分:1)
我发现这个问题与IE6& 7关于has-layout的错误有关。如果表单字段的父元素具有布局,则它继承它的边距。我将边距提供的间距更改为填充,它解决了问题。
但是,如果有人有更好的解决方案让开发人员保留边距,那将是非常棒的,因为设计并不总是可以将边距更改为填充。
答案 1 :(得分:1)
您是否尝试将表单元素包装在另一个没有属性的div中,它应该打破hasLayout“链”。即以
的形式嵌套div