这里有四个2x2的表格,每个表格都有一个带深色边框的单元格。我希望深色边框突出,但不幸的是,相邻的浅色边框以某种随机的方式覆盖了深色边框的一部分。有没有办法强制给定单元格的边框不被相邻的边框覆盖?
我想使用z-index
,但不幸的是它不起作用。
table {
border-collapse: collapse;
margin:auto;
}
td {
padding: 10px;
}
td.dark {
border: 8px solid black;
}
td.light {
border: 8px solid lightgrey;
}
<table>
<tr> <td class="light"> a </td> <td class="light">b</td> </tr>
<tr> <td class="light"> a </td> <td class="dark">b</td> </tr>
</table>
<br>
<table>
<tr> <td class="dark"> a </td> <td class="light">b</td> </tr>
<tr> <td class="light"> a </td> <td class="light">b</td> </tr>
</table>
<br>
<table>
<tr> <td class="light"> a </td> <td class="dark">b</td> </tr>
<tr> <td class="light"> a </td> <td class="light">b</td> </tr>
</table>
<br>
<table>
<tr> <td class="light"> a </td> <td class="light">b</td> </tr>
<tr> <td class="dark"> a </td> <td class="light">b</td> </tr>
</table>
2条答案
按热度按时间llew8vvj1#
看看这是否有帮助:
根据
CSS
指南,这是border-collapse
的一个定义行为。如果折叠边框具有相同的样式和宽度,但颜色不同,则从最常用到最不常用:单元格、行、行组、列、列组、表。
如果来自相同类型的元素,例如两行,则颜色取自最顶部和最左侧的边框。
或者,您可以为每个行
<td>
元素设置自己的<td>
样式。zwghvu4y2#
::before
或::after
以及border
或box-shadow
来创建边界。该代码片段显示了两种
::after
解决方案。注意:
border-collapse
,类.dark
仍然需要一个border
,但是它的颜色是无关紧要的,因为它将被我们的自定义边框覆盖::before
或::after
将覆盖表格单元格的内容,使用户很难(但并非不可能)选择内容。