【发布时间】:2014-09-05 19:29:40
【问题描述】:
我有一张桌子,里面有一排 tds。我让它们 display: inline-block 以便它们与页面一起包装。我似乎无法使它们里面的文本垂直对齐:中间。我将如何做到这一点?还是 display: inline-block 不是要走的路?谢谢。
编辑 这是代码。抱歉,我是发帖新手。
<div>
<table class="disk-size-table center">
<tr class="disk-size-row">
<!-- <td class="disk-size-td draggable" data-disk-size="500">
500 GB <!-- I want the 500GB to be vertical align middle
</td> -->
</tr>
</table>
</div>
.disk-size-table {
border-spacing: 0;
}
.disk-size-td {
border: 1px solid black;
border-radius: 5px;
width: 60px;
height: 70px;
text-align: center;
vertical-align: middle;
padding: 0;
display: inline-block;
}
table.center {
margin-left: auto;
margin-right: auto;
}
我动态生成看起来像注释的 td。我希望它们显示在垂直对齐的中间。如果我需要发布其他内容,请告诉我。
【问题讨论】:
-
欢迎来到 StackOverflow!为了写出更好的问题并增加获得答案的机会,请在问题中包含您的相关代码。
-
你可以试试 text-align: center;或关注此答案stackoverflow.com/questions/9249359/…
-
试着解释你想要达到的目标。使用
td元素意味着您希望所有元素具有相同的高度。但是将显示类型更改为 inline-block 会导致每个单元格缩小以适应高度/宽度。没有任何附加信息,很难提出解决方案。通常带着这些问题,一贴出答案,新的需求就出来了,所以请详细说明! -
我最终添加了等于高度的行高。
-
@SkeetsMcCoy
line-height仅在您没有多行文本时才有效。只需删除.disk-size-td的固定高度(请参阅下面的答案),它应该适用于多行文本。
标签: html vertical-alignment css