垂直对齐<a> element with CSS</a>中的文字

时间:2013-04-13 18:03:31

标签: html css vertical-alignment

有人可以解释我如何垂直对齐<a>元素中的文字 - 所以这两个文字都出现在红色框的中间吗?

http://jsfiddle.net/WeKtX/

这是我的 HTML

<ul>
<li><a href="#">this is a link</a></li>
<li><a href="#">this is an even longer link</a></li>
</ul>

和我的 CSS

li {list-style-type:none;margin:0;padding:0}
li a {width:100px;float:left;background:red;margin-right:20px;height:40px}

非常感谢任何指针

1 个答案:

答案 0 :(得分:14)

如果您想要水平居中文本,请尝试:

text-align: center;

如果您想垂直居中,请尝试:

line-height: 40px; //Where 40px is the height of your parent element

请注意,使用行高时,它只适用于一行的文本。如果您想要多行文本,那么我担心您必须为文本指定高度,然后在父元素上使用position: absolute;的文本上使用position: relative;

对于您的多行示例,我尝试使用the following jsFiddle

li {
    list-style-type:none;
    margin:0;
    padding:0;
    position: relative;
    height: 60px;
    width: 200px;
    display: block;
    background:red;
}

li a {
    width:100px;
    height:40px;
    position: absolute;
    top: 50%;
    margin-top: -20px;
}