水平居中对齐块元素

时间:2015-02-19 14:40:56

标签: css

我认为很多像我这样的人继续这样做:

html {
    text-align: center;
}

body {
    margin: 0 auto;
    width: 80%;
    text-align: left;
}

http://jsfiddle.net/ofpy7mgz/

我甚至不记得为什么我们将text-align: center;添加到父元素,必须是为了浏览器兼容性?嗯,现在简单地放弃它是否安全?

修改:目标只是中心对齐<body>元素,而不是任何文字对齐等。

2 个答案:

答案 0 :(得分:2)

这是因为IE6(和较旧的那些+我认为IE7处于怪癖模式)通过这种方式将所有元素(blockinline)集中在一起,margin: auto不起作用那里。

其他浏览器(non-IE)无法通过text-align: center;将块元素居中。正如规范所说,他们使用text-align: center inline元素,margin: auto元素block

如果您不想支持IE6,可以删除它。

答案 1 :(得分:0)

如果您想使用您的代码,更简单:

body {
    margin: 0 auto;
    width: 80%;
    text-align: center;
}
<p>hello world.</p>