HTML
<div class="table-cell">
My text, should be align middle
</div>
CSS
.table-cell {
height: 200px;
width: 200px;
vertical-align: middle;
background: #eee;
display: table-cell;
position: absolute;
}
问题
文本应放在我的“表格单元格”中间。一切都按预期工作,直到我添加“position:absolute”。现在它不能再将我的内容放在中间了?为什么不?它仍然知道我的身高和宽度,因为我在CSS中设置它。
有什么聪明的解决方法吗?
答案 0 :(得分:40)
一切都按预期工作,直到我添加“position:absolute”。现在它 不能再将我的内容放在中间了?为什么不呢?
position: absolute
强制display: block
,读取第二个here。
至于解决方法,我认为你必须把它包装在另一个元素中:
<div class="table-cell-wrapper">
<div class="table-cell">
My text, should be align middle
</div>
</div>
.table-cell-wrapper {
position: absolute;
}
.table-cell {
height: 200px;
width: 200px;
vertical-align: middle;
background: #eee;
display: table-cell;
}
答案 1 :(得分:3)
答案 2 :(得分:3)
这是解决方案:
<div style="position: absolute; /*your position*/">
<div class="table-cell">
My text, should be align middle
</div>
</div>