繁体   English   中英

无法在IE中水平居中固定宽度div

[英]Cannot horizontally center fixed width div in IE

我正在为网站创建模板。

该示例位于框架登录页面
CSS的主要工作表位于: master.css

我正在尝试将主要父div居中。

我在用

#body {
  width: 100%;
  background: url('pathtoimage.png');
}

#inner_body{
  width: 800px;
  margin: auto;
}

<body>
  <div id="body">
    <div id="inner_body"></div>
  </div>
</body>

可能是什么问题?

这是一个(非常)旧的IE错误。

幸运的是,自IE 6起它已得到修复,但是您确实需要在页面上具有适当的doctype,才能使IE使用“标准”呈现方式并尊重您的margin: auto样式。 在没有doctype的页面上,IE改为使用“怪癖”模式,该模式可回退到旧的非标准行为。

Quirksmode 在doctypes和standards模式上有一个很好的页面 ,解释了为什么要确保页面具有正确的doctype,包括一些漂亮的表,说明了每个浏览器在quirks和standards模式下会做些什么。

将“ body” div的CSS设置为包括:

text-align: center;

并删除“ inner_body” div上可能具有的所有文本对齐方式,它应继承自body。

这是为什么您应该使用正确的doctype的说明。

  1. 使用正确的DOCTYPE(文档类型定义或DTD)

这定义了文档实际使用的HTML或XHTML版本。 浏览器或其他工具需要使用它来正确处理文档。

使用不完整,过时或完全没有DOCTYPE的浏览器会使某些浏览器进入“ Quirks”模式,在该模式下,浏览器会假定您已编写了老式的无效标记。

这意味着您的网页可能无法在所有主要浏览器中很好地呈现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM