我有以下代码:
<td class="mobile-user-icon">
<span class="mobile-photo">background text</span>
<span class="mobile-caller-mute">overlay text</span>
</td>
.mobile-user-icon {
width: 64px;
height: 64px;
text-align: center;
background: grey;
color: white;
vertical-align:middle;
}
我想在mobile-caller
上叠加mobile-photo
,同时为2个文本元素保留vertical-align:middle
。
我知道如果这不在表中,通常的做法是将父mobile-user-icon
设置为position:relative
,然后position:absolute
将两个子元素设置为相同绝对的位置。
但是,这在table-cell
中不起作用。有什么想法吗?
答案 0 :(得分:2)
您应该将相对位置添加到.mobile-user-icon
:
.mobile-user-icon {
width: 64px;
height: 64px;
text-align: center;
background: grey;
color: white;
vertical-align: middle;
position: relative;
}
由于表格单元格具有固定的高度,因此您可以轻松使用CSS line-height
选项来保持垂直对齐。为<span>
中的.mobile-user-icon
元素设置以下CSS:
.mobile-user-icon > span {
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
vertical-align: middle;
line-height: 64px;
}
答案 1 :(得分:0)
为你的单元格添加一个float:left样式应该可以。
检查以下链接我已经更新了你的小提琴。
.mobile-caller-mute {
float:left;
}