我想创建一个只有部分分隔边框的表格。 thead
上方和下方的边界应该没有空格。但是其中的其他人应该被一个小空间隔开。
不幸的是,border-spacing
样式仅适用于整个表:https://developer.mozilla.org/en-US/docs/Web/CSS/border-spacing
例如,在下文中,我希望仅在border-top
和h2.1
h2.2
之间留出空格。这可能吗?
HTML:
<table>
<thead>
<tr>
<th rowspan="2">h1</th>
<th colspan="2">h2</th>
</tr>
<tr>
<th>h2.1</th>
<th>h2.2</th>
</tr>
</thead>
<tbody>
<tr>
<td>b1</td>
<td>b2.1</td>
<td>b2.2</td>
</tr>
<tr>
<td>b1</td>
<td>b2.1</td>
<td>b2.2</td>
</tr>
</tbody>
</table>
CSS:
table {
border-collapse: separate;
}
th,
td {
vertical-align: top;
}
thead tr:first-child th {
border-top: 2px solid;
}
thead tr:not(:first-child) th {
border-top: 1px solid;
}
tbody tr:first-child td {
border-top: 1px solid;
}
tbody tr {
border-top: 1px solid;
}
小提琴:https://jsfiddle.net/6ov4hadd/
修改
这是一个更明智的例子。
小提琴:https://jsfiddle.net/Lnk929q4/
我希望看起来像一张#34;书桌&#34;:
答案 0 :(得分:0)
您可以尝试将两个不同的表用于头部和身体部位。像这样的东西
https://jsfiddle.net/6ov4hadd/1/
<table id = "table1">
<thead>
<tr>
<th rowspan="2">h1</th>
<th colspan="2">h2</th>
</tr>
<tr>
<th>h2.1</th>
<th>h2.2</th>
</tr>
</thead>
</table>
<table>
<tbody>
<tr>
<td>b1</td>
<td>b2.1</td>
<td>b2.2</td>
</tr>
<tr>
<td>b1</td>
<td>b2.1</td>
<td>b2.2</td>
</tr>
</tbody>
</table>