html - IE6 和 IE7 不能正确处理具有高度属性的元素的边距

标签 html css internet-explorer-6 internet-explorer-7

我在一个 div 中有一个 h2。两者都有边界。 h2 具有高度属性和边距。当我在 IE6、IE7 或 IE8 兼容性 View 中查看我的页面时,h2 一直在 div 的顶部,就好像边距为 0。但是,如果我在任何其他浏览器中查看它,h2 有一些空间高于我的预期。

谁能告诉我为什么会发生这种情况以及如何处理。我正在尝试使页面在 IE 中呈现,就像在 Firefox 中一样,而不将高度设置为自动。

这是您可以测试以显示问题的页面。尝试在 IE6 或 IE7 中查看它,然后在任何其他浏览器中尝试:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title>CSS margin test</title>
<style type="text/css">
div {
    border: solid blue 1px}
h2 {
    height:33px; margin:80px 0 0; border: solid red 1px}
</style>
</head>
<body>
<div>
    <h2>test</h2>
</div>
</body></html>

最佳答案

使用“zoom: 1”CSS 属性强制在 IE 中进行正确布局。这是 IE 错误的常见解决方案。将它放在 div 上可以解决您的问题:

div {
    border: solid blue 1px;
    zoom: 1;
}

通用修复也是可能的:

* {
    zoom: 1;
}

谷歌“hasLayout”了解更多信息。

关于html - IE6 和 IE7 不能正确处理具有高度属性的元素的边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1682897/

相关文章:

javascript - 无法提交 data-live-search 为 true 的表单(Bootstrap-select)

HTML 中的 Javascript 未正确调用

html - CSS使<a>标记按钮内的文本在水平和垂直中心居中

javascript - 在提交表单时为无效元素最近的 div 设置动画

html - Bootstrap 4 动画导航栏不显示

internet-explorer - IE6窗体: focus disabled on input fields?(IE8之后的多个IE)

javascript - jquery bg 转换循环

javascript - 无法使用 jquery 选择器访问输入

css - div 的 base64 图像背景 - 数据 URI 在 IE6 中不起作用

html - float div 中的列表