HTML5和vertical-align?现在修好了?

时间:2010-08-25 17:40:33

标签: html5 css3 vertical-alignment

我来自世界各地,并且一直在寻找谷歌关于做多个包装来垂直对齐内容的资源 - 但它似乎真的很难看。

HTML5现在有更简单的方法吗?是否有某种实现使用类似HBox / VBox的心态?我看到有非ie浏览器的例子 - 是否有合规方式?

如果他们心智正常的人现在怎么做HTML呢?这太乱了!

////编辑

我终于想出了如何在屏幕上垂直对齐整个框,我如何确定如何垂直居中列表项。

我尝试了两种方法来对齐这个html:

<nav>
    <ul>
        <li><a href="#!/home">Home</a></li>
        <li><a href="#!/link1">Link #1</a></li>
    </ul>
</nav>

一个使用display:inline,另一个使用float:left(在容器内)。当使用内联时,似乎列表项忽略height:css,并且当使用float:时,li中的链接不垂直对齐。我是否需要将div放在li中以使它们垂直居中?

4 个答案:

答案 0 :(得分:11)

为什么不尝试将display: boxbox-align:center一起使用,这是CSS3,因此并非每个浏览器都支持它(仅限Chrome,FireFox和Safari)

http://www.w3schools.com/cssref/css3_pr_box-align.asp

答案 1 :(得分:4)

您可以使用display:inline-block为LI设置行高属性等于LI的高度。执行此操作时,文本将位于行的中间,该行与LI的高度相同,文本将垂直位于中间。

答案 2 :(得分:1)

HTML5实际上与元素布局没有任何关系,例如垂直对齐内容。和以前一样,标记由CSS设置。

CSS与HTML5完全不同,所以没有,没有任何改变。


如果您在实施特定布局时遇到问题,请提出具体问题,我们可以提供帮助。

答案 3 :(得分:1)

你可以设置一个外部元素来显示:table和要显示的内部元素:table-cell。然后,在table-cell元素上,设置vertical-align:middle;它的所有内容都将垂直居中。

它不适用于IE7及更早版本,但嘿,谁在乎?