How can I use CSS to vertically center the text in an anchor, within a LI?(如何使用css在LI中垂直居中定位文本?)
本文介绍了如何使用css在LI中垂直居中定位文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
关于这个问题的变化已经被问了很多次。使用css垂直居中是一项挑战。
我有一个特殊的场景,处理水平显示的列表。标记如下:
<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元素的文本换行时,如何使其居中?
推荐答案
您可以将display:table
等与vertical-align:middle
ul.c {
text-align:center;
display:table;
}
ul li {
float:left;
}
ul li a {
text-decoration:none;
border: 1px solid Maroon;
padding:2px 12px;
background:#FFEF8A;
width:100px;
height:52px;
display:table-cell;
vertical-align:middle;
}
ul li a:hover {
background: #CCC;
}
示例:http://jsfiddle.net/kf52n/2/
这篇关于如何使用css在LI中垂直居中定位文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何使用css在LI中垂直居中定位文本?
基础教程推荐
猜你喜欢
- 响应更改 div 大小保持纵横比 2022-01-01
- 动态更新多个选择框 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 在for循环中使用setTimeout 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01