这个问题的变化已经被问了很多次。垂直居中CSS是一个挑战。如何使用CSS将文本垂直居中在LI内的锚点中?
我有一个特定的场景,处理水平显示的列表。标记是这样的:
<ul id='ul1' class='c'>
<li><a href='javascript:void(0)'>Fribble Fromme</a></li>
<li><a href='javascript:void(0)'>Fobble</a></li>
<li><a href='javascript:void(0)'>Foo Fickle Pickle</a></li>
</ul>
的风格是这样的:
ul.c {
height:52px;
text-align:center;
}
ul li a {
float:left;
text-decoration:none;
border: 1px solid Maroon;
padding:2px 12px;
background:#FFEF8A;
line-height:1em;
width:100px;
}
ul li a:hover {
background: #CCC;
}
ul li {
height:52px;
display:inline-block;
}
结果列表如下:
但我想所有的箱子是高度相同,我希望文本在每个框中垂直居中。我可以通过为A元素添加height
样式来设置箱子高度。结果是这样的:
...这是接近我想要的,但垂直居中没有发生。
我可以设置line-height
为正文,as suggested in this post,做垂直居中。我甚至可以为不同的A元素选择不同的值line-height
,如果我知道哪些元素将获得多行文本。但我不知道哪些需要多行。
当A元素中的某些元素包含文本时,我怎样才能让它居中?
使用令人恐惧的表! –