我试图在表格单元格上方放置一个按钮,这是我所实现的:
这是代码:
body {
margin: 100px;
}
td {
border: 1px solid black;
padding: 20px;
text-align: center;
vertical-align: middle;
}
td span {
text-align: center;
}
table {
border-collapse: collapse;
}
#btn {
display: block;
margin-left: auto;
margin-right: auto;
position: relative;
height: 20px;
top: -30px;
}Run Code Online (Sandbox Code Playgroud)
<table>
<tr>
<td>
<button id='btn'>test</button>
<span>Alfreds Futterkiste</span>
</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
看起来不错,我已将按钮放置在表格单元格上方。但有一件事困扰着我:第一个表格单元格中的文本没有垂直对齐。为什么?我用过vertical-align但是没效果。如何让它发挥作用
将 btn 从 DOM 流中分离出来,position: absolute这样它就不会像这样在测量中被计算;
body {
margin: 100px;
}
td {
border: 1px solid black;
padding: 20px;
text-align: center;
vertical-align: middle;
}
td span {
text-align: center;
}
table {
border-collapse: collapse;
}
#btn {
height: 20px;
position: absolute;
top: -10px;
left: 50%;
transform: translateX(-50%);
}
.pos-relative {
position: relative;
}Run Code Online (Sandbox Code Playgroud)
<table>
<tr>
<td class="pos-relative">
<button id='btn'>test</button>
<span>Alfreds Futterkiste</span>
</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)