如何垂直对齐行内元素
我有这个锚标记,其间有文本以垂直对齐文本。我正在使用这个CSS属性vertical-align: middle。不过什么也没有发生。
I have this anchor tag that has text between to be vertically align text. I'm using this css attribute vertical-align: middle. Nothing happens tho.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以将其设置为
inline-block
并为其指定line-height
:JSFiddle 以及工作示例:http://jsfiddle.net/KgqJS/
You can make it
inline-block
and give it aline-height
:JSFiddle with working example: http://jsfiddle.net/KgqJS/
vertical-align
仅适用于具有display: table-cell
的元素,并且vertical-align
不支持该属性值。 IE8。已知文本
如果您知道要居中的文本,那就相当容易了。你有两个选择。
您可以使用 CSS 的 padding 来添加顶部和底部的内边距,使文本显示在中间。这对于多行文本很有用。
您可以利用行高属性使文本垂直居中。这仅适用于一行文本。您可以猜测如果超过 1 个,会发生什么。
动态多行文本
事情开始变得有些棘手,可能会让您急需表格。
<的解决方法IE8。
来源。
vertical-align
only works on elements withdisplay: table-cell
, and that property value isn't supported in < IE8.Known text
If you know the text to be centred, it is rather easy. You have two options.
You can use CSS's padding to add padding top and bottom, to make the text appear in the middle. This is useful for multiline text.
You can exploit the line-height property to make the text vertically centred. This only works with one line of text. You can guess what happens if there is more than 1.
Dynamic multiline text
Here is where things start to get somewhat tricky, and may have you crying for tables.
Workaround for < IE8.
Source.
检查工作示例 http://jsfiddle.net/Z2ssq/1/
Check working example at http://jsfiddle.net/Z2ssq/1/