Css 对于IE6中的破损盒子模型,最好的解决方法是填充?

Css 对于IE6中的破损盒子模型,最好的解决方法是填充?,css,internet-explorer,Css,Internet Explorer,我注意到IE6和IE7都会在元素内部有填充底部时向下推父div。。。解决这个问题的最佳方法是什么?是否可以用有效的css修复此问题 编辑 我使用的解决方案是在子元素中设置overflow:auto(如下面接受的答案中所述)。我采用这种方法是因为我的子元素高度是动态的,因此我无法设置它。padding bottom被添加到子元素的总高度,因此即使子元素为空,padding bottom:10px;总高度为10px。在所有现代浏览器中,父元素都会扩展,为其子元素提供空间 但是,如果您希望在父级上设置

我注意到IE6和IE7都会在元素内部有填充底部时向下推父div。。。解决这个问题的最佳方法是什么?是否可以用有效的css修复此问题

编辑


我使用的解决方案是在子元素中设置overflow:auto(如下面接受的答案中所述)。我采用这种方法是因为我的子元素高度是动态的,因此我无法设置它。

padding bottom被添加到子元素的总高度,因此即使子元素为空,padding bottom:10px;总高度为10px。在所有现代浏览器中,父元素都会扩展,为其子元素提供空间

但是,如果您希望在父级上设置高度,您可以在父级上设置高度,并通过溢出控制子级的内容:auto/hidden/scroll

或者您可以将父对象设置为位置:相对;设定位置:绝对位置;到子元素


这完全取决于你想要什么

检查您设置的doctype和not running in,然后使用确保所有元素的开头都是一样的


如果您在某个版本的IE中仍然获得了额外的填充,请使用为该浏览器添加额外的样式表。

我没有看到IE8或Firefox在填充应用于子元素时“向下推父元素”;只是父元素的高度会扩展以容纳子元素。这是CSS中正确的自动行为。我做了一个简短的演示:

可以在IE6/IE7中尝试,看看会发生什么(需要启用Javascript才能使链接工作,但即使没有Javascript,也可以看到发生了什么)


如果要约束父级的高度,请将其设置为(例如高度:100px)并将其溢出属性设置为隐藏。

示例演示其他浏览器的预期行为“错误”是什么,请!IE7(以及标准模式下的IE6)没有传统的“破盒模式”;填充通常与其他浏览器的工作原理相同。我不久前就开始键入它,同时它被回答了两次(更好)…哦,好吧!