Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将div的列居中对齐_Html_Css - Fatal编程技术网

Html 将div的列居中对齐

Html 将div的列居中对齐,html,css,Html,Css,我要做的是让3列div在页面中央对齐,例如: (说我不允许发布图片) 我尝试了各种不同的建议,从网站/博客/其他问题在这里,但似乎没有得到任何进展 首先我尝试将div向左浮动,然后给它们的父div一个宽度和边距:auto 那没用,他们只是留在左边 我注意到有很多建议说停止使用float,而使用display:inline block 所以我试过了,在某种程度上它是有效的,例如: 但是,一旦我向任何div添加任何内容,它们就会停止对齐并跳转到页面 实现这一点最简单的方法是什么(显然不使用表)?我

我要做的是让3列div在页面中央对齐,例如:

(说我不允许发布图片)

我尝试了各种不同的建议,从网站/博客/其他问题在这里,但似乎没有得到任何进展

首先我尝试将div向左浮动,然后给它们的父div一个宽度和
边距:auto

那没用,他们只是留在左边

我注意到有很多建议说停止使用float,而使用
display:inline block

所以我试过了,在某种程度上它是有效的,例如:

但是,一旦我向任何div添加任何内容,它们就会停止对齐并跳转到页面

实现这一点最简单的方法是什么(显然不使用表)?我相信这不会像我现在做的那么难


干杯。

要做到这一点,您需要为要对齐的元素指定一个宽度,并使用“自动”左右边距。这是一种符合标准的方式,在除IE5.x之外的任何地方都适用

<div style="width: 50%; margin: 0 auto;">Hello</div>
你好
要使其在IE6中工作,您需要使用合适的DOCTYPE确保已打开

如果您真的需要支持IE5/Quirks模式,而现在您不应该支持IE5/Quirks模式,那么可以将两种不同的居中方法结合起来:

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

你好

有一种解决方案可以使宽度未知的浮动居中:

添加
垂直对齐:顶部到您的
。框
将框对齐

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

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


相关问题

我试过你的小提琴,它很好用,即使我在divs中添加了一些内容。在最新的Firefox测试版中。除了你有1%的保证金权利,视觉上会稍微向左偏离中心。