-1

我试图做的只是使用 CSS 将 div 居中。我无法理解它。它根本行不通。我使用了以下代码:

<style type="text/css">
<!--
div.test {
    width: 300px;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid black;
}

-->
</style>
<div class='test'>
hello
</div>

这在 IE 上不起作用,它在其他任何东西上都起作用(包括我的 iPhone,这让人非常沮丧)。div 只是保持在右侧对齐。

现在对于(简单!)解决方案,这花费了我很多时间,而且我无法在搜索引擎中找到搜索问题的位置。只需添加文档类型,等等:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">

为什么要解决它?

4

1 回答 1

5

是的,如果您省略<!DOCTYPE>声明,您会得到可怕的Quirks Mode,出于兼容性原因,IE 会尽可能地表现得像 IE5。

不支持margin-left/right: auto是比较突出的 IE5 CSS 错误之一,但绝不是唯一的错误,甚至不是最严重的错误。Quirks Mode CSS 渲染是一个非常令人头疼的问题,您应该不惜一切代价避免。始终<!DOCTYPE>在每个 HTML 文档中包含 a。

于 2010-10-18T10:40:21.873 回答