来自这个JSFiddle:http://jsfiddle.net/pbfsyqut/
我想要的是将包含div中图像的文本居中放在表格单元格中。
我尝试将vertical align
添加到范围但不起作用:
.profile-navigation-bar-list span {
vertical-align:center;
}
为什么垂直对齐不起作用?我该如何将文本居中?
答案 0 :(得分:1)
由于image
和span
是inline-block
元素,inline-block
元素可以通过将vertical align
添加到高度最大的元素来对齐
div {
border: 1px solid red;
display: inline-block;
}
div:first-child{
vertical-align:middle;
}
<div>test<br/>test<br/>test</div>
<div>test</div>
在您的示例中,您已将vertical-align
添加到第二个元素,如果第二个元素是您vertical-align
工作的高度
div {
border: 1px solid red;
display: inline-block;
}
div:nth-child(2) {
vertical-align: middle;
}
<div>test<br/>test<br/>test</div>
<div>test</div>
第二个元素最大
div {
border: 1px solid red;
display: inline-block;
}
div:nth-child(2) {
vertical-align: middle;
}
<div>test</div>
<div>test<br/>test<br/>test</div>
答案 1 :(得分:0)
我不确定你要求的是什么。
将div居中是非常标准的,只需在父tr中添加一个text-align:center
即可。
现在,如果您只想将div居中并将图片保留在左侧,请检查jFiddle。
答案 2 :(得分:0)
.profile-navigation-bar-list span {line-height:25px;}
img{float:left}
答案 3 :(得分:0)
您可以将div中的所有元素设为vertical-align:middle
.profile-navigation-bar-list div > * {
vertical-align: middle;
}
我也会删除不必要的div。