這個問題的變化已經被問了很多次。垂直居中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元素中的某些元素包含文本時,我怎樣才能讓它居中?
使用令人恐懼的表! –