集中对齐div的列

时间:2012-11-05 14:11:11

标签: html css

我要做的是有3列div,在页面上集中对齐,例如:

Example (说我不允许发布图片)

我在这里尝试过网站/博客/其他问题的各种不同建议,但似乎无处可去。

首先我尝试将div左移,然后给父div加宽margin:auto;

那不起作用,他们只是留下了。

我注意到很多建议说停止使用float并使用display:inline-block;

所以我尝试了它并且在某种程度上它起作用,例如:fiddle

但是,只要我向任何div添加任何内容,它们就会停止对齐并向下跳转页面。

实现这一目标的最简单方法是什么(显然不使用表格)?我确信它不会像我一样困难。

干杯。

3 个答案:

答案 0 :(得分:0)

要做到这一点,你想给你想要的元素对齐一个宽度,用'自动'左右边距。这是符合标准的方式,除了IE5.x以外的任何地方都可以使用。

<div style="width: 50%; margin: 0 auto;">Hello</div>

要在IE6中使用此功能,您需要使用合适的DOCTYPE确保Standards Mode处于打开状态。

如果你真的需要支持IE5 / Quirks模式,现在你不应该这样做,可以将两种不同的方法结合起来进行居中:

<div style="text-align: center">
    <div style="width: 50%; margin: 0 auto; text-align: left">Hello</div>
</div>

答案 1 :(得分:0)

有一种解决方案可以使宽度未知的浮动居中:http://www.artlebedev.com/tools/technogrette/html/align-center/

答案 2 :(得分:0)

vertical-align:top;添加到.box会将框排成一行。

要解决为什么添加文本似乎可以解决问题,这是因为

  

“内联块”的基线是正常流程中其最后一个线框的基线,除非它没有流入线框或者其“溢出”属性的计算值不是“可见” ',在这种情况下,基线是底部边缘边缘。

来自CSS2 Visual formatting model details

相关问题Why is this inline-block element pushed downward?