使用 position:absolute 修复 table 单元格中的垂直对齐
fix vertical align in table cell with position:absolute
需要使用固定列创建 table。当设置绝对位置时,带有 'text1' 的单元格没有居中垂直对齐。如何纠正?
<style>
.th {
position: absolute;
left: 0; width: 300px;
}
.tbl{ margin-left: 305px;}
td{height:100px;width:200px; vertical-align: middle; text-align:center;}
</style>
<table class=tbl border=1 >
<tr >
<td class=th>text1</td>
<td>text2</td>
<td>text3</td>
<td>text4</td>
</tr>
</table>
为仅具有 'text1' 绝对位置的单元格设置
并在内部 div 中再次设置 display: table-cell 和 vertical-align:middle
<style>
.th{position:absolute;border:none}
.th2 {
height:100px;
width:300px;
background-color:green;
display: table-cell;
vertical-align:middle;
left:-200px;
position:relative;
}
.tbl{ margin-left: 305px;}
td{height:100px;width:200px;vertical-align:bottom; }
</style>
<table class=tbl border=3 >
<tr >
<td class=th> <div class=th2>text1</div></td>
<td>text2</td>
<td>text3</td>
<td>text4</td>
</tr>
</table>
需要使用固定列创建 table。当设置绝对位置时,带有 'text1' 的单元格没有居中垂直对齐。如何纠正?
<style>
.th {
position: absolute;
left: 0; width: 300px;
}
.tbl{ margin-left: 305px;}
td{height:100px;width:200px; vertical-align: middle; text-align:center;}
</style>
<table class=tbl border=1 >
<tr >
<td class=th>text1</td>
<td>text2</td>
<td>text3</td>
<td>text4</td>
</tr>
</table>
为仅具有 'text1' 绝对位置的单元格设置 并在内部 div 中再次设置 display: table-cell 和 vertical-align:middle
<style>
.th{position:absolute;border:none}
.th2 {
height:100px;
width:300px;
background-color:green;
display: table-cell;
vertical-align:middle;
left:-200px;
position:relative;
}
.tbl{ margin-left: 305px;}
td{height:100px;width:200px;vertical-align:bottom; }
</style>
<table class=tbl border=3 >
<tr >
<td class=th> <div class=th2>text1</div></td>
<td>text2</td>
<td>text3</td>
<td>text4</td>
</tr>
</table>