下面的代码(也可以作为JS Fiddle上的演示)没有将文本放置在中间,因为我理想的情况下希望它这样做。我找不到任何方法垂直中心的文本在一个div,甚至使用margin-top属性。我该怎么做呢?
<div id="column-content">
<img src="http://i.stack.imgur.com/12qzO.png">
<strong>1234</strong>
yet another text content that should be centered vertically
</div>
#column-content {
display: inline-block;
border: 1px solid red;
position:relative;
}
#column-content strong {
color: #592102;
font-size: 18px;
}
img {
margin-top:-7px;
vertical-align: middle;
}
添加一个垂直对齐的CSS内容#column-content strong:
#column-content strong {
...
vertical-align: middle;
}
请参见更新后的示例。
=== update ===
在另一个文本周围加上一个span和另一个垂直对齐:
HTML:
... <span>yet another text content that should be centered vertically</span> ...
CSS:
#column-content span {
vertical-align: middle;
}
请参见下一个示例。
我知道这完全是愚蠢的,你通常不应该在不创建表的时候使用表,但是:
表格单元格可以垂直居中对齐多行文本,甚至在默认情况下也可以这样做。所以一个很好的解决方案可能是这样的:
HTML:
<div class="box">
<table class="textalignmiddle">
<tr>
<td>lorem ipsum ...</td>
</tr>
</table>
</div>
CSS(使表项总是适合盒子div):
.box {
/* For example */
height: 300px;
}
.textalignmiddle {
width: 100%;
height: 100%;
}
在这里看到的:
http://www.cssdesk.com/LzpeV
添加一个垂直对齐的CSS内容#column-content strong:
#column-content strong {
...
vertical-align: middle;
}
请参见更新后的示例。
=== update ===
在另一个文本周围加上一个span和另一个垂直对齐:
HTML:
... <span>yet another text content that should be centered vertically</span> ...
CSS:
#column-content span {
vertical-align: middle;
}
请参见下一个示例。