css – 在块内垂直居中元素

前端之家收集整理的这篇文章主要介绍了css – 在块内垂直居中元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在将我的网站从表格布局重新设计为CSS.我在看似非常简单的任务时遇到了一些问题.

该网站很简单.屏幕中间的一个框,其中包含多个链接.

旧网站使用< td valign =“center”>将框中的所有链接居中. CSS似乎没有等价物.我一直使用负边距将元素集中在一起,如下所示:

div {
    height: 200px;
    position: absolute;
    top: 50%;
    margin-top: -100px;
}

当您确切知道要居中的元素有多大时,这种方法很有效,但我需要能够在不知道链接占用多少垂直大小的情况下使链接居中.我只是希望框中的对齐方式像text-align:center.也只是垂直的.

Current website designed with tables
Current progress on the CSS version

解决方法

我去过你的网站并在这里复制了html.

你可以这样做:

<style>
#Box{
    display: table;
}
#Box > div {
    display: table-cell;
    vertical-align: middle;
}
</style>

<!-- Your html part -->
<div id="Box">
    <div>
        <a href="#">Link A</a>
        <a href="#">Link B</a>
        <a href="#">Link C</a>
        <a href="#">Link D</a>
    </div>
</div>

您必须在#Box中包含div元素,因为如果您没有设置为display:table的包装元素,则display:table-cell属性将无法正常工作.

你的例子:jsfiddle

猜你在找的CSS相关文章