将单行和多行 li 文本垂直居中
我有一个带有背景图像集的无序列表。所有列表项具有相同的高度,背景图像位于左侧中心。
每个项目的文本应该垂直居中到li。这适用于单行文本(通过根据 li 的高度设置行高),但不适用于两行文本。
我可以将“line-height:normal”添加到两行项目中,但我想要一个适用于所有项目的解决方案。
我该怎么做?
例子:
li {
list-style-type:none;
padding-left:40px;
height:36px;
line-height:36px;
background:url('tick.png') no-repeat 0 50%;
}
I have an unordered list with a background-image set. All list-items have the same height, the background-image is positioned left center.
The text of each item should be centered vertically to the li. This works well with single-line text (by setting the line-height according to the height of the li), but not with two lines of text.
I could add "line-height:normal" to the two-line item, but I want a solution that works for all items.
How can I do this?
Example:
li {
list-style-type:none;
padding-left:40px;
height:36px;
line-height:36px;
background:url('tick.png') no-repeat 0 50%;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个最跨浏览器的解决方案
为了简洁起见,我使用了 star hack,你应该避免。只需使用 html5boilerplate 解决方案,它在 body 标签上使用条件注释
this is a most crossbrowser solution
I used star hack for brevity, you should avoid. Just use html5boilerplate solution, it uses conditional comments on body tag
它应该有效。
编辑:更新以查看更改
It should work.
EDIT : updated to see changes