在表格中的特定行周围边框?
我试图设计一些可以在表格中放置特定行的边框的HTML / CSS。 是的,我知道我真的不应该使用表格进行布局,但我不知道有足够的CSS来完全替代它。
无论如何,我有一个表有多个行和列,有些与rowspan和colspan合并,我想在表的一部分放一个简单的边框。 目前,我使用4个独立的CSS类(顶部,底部,左侧,右侧),分别附加在表格顶部,底部,左侧和右侧的<td>
单元格中。
.top {
border-top: thin solid;
border-color: black;
}
.bottom {
border-bottom: thin solid;
border-color: black;
}
.left {
border-left: thin solid;
border-color: black;
}
.right {
border-right: thin solid;
border-color: black;
}
<html>
<body>
<table cellspacing="0">
<tr>
<td>no border</td>
<td>no border here either</td>
</tr>
<tr>
<td class="top left">one</td>
<td class="top right">two</td>
</tr>
<tr>
<td class="bottom left">three</td>
<td class="bottom right">four</td>
</tr>
<tr>
<td colspan="2">once again no borders</td>
</tr>
<tr>
<td class="top bottom left right" colspan="2">hello</td>
</tr>
<tr>
<td colspan="2">world</td>
</tr>
</table>
</html>
tr {outline: thin solid black;}
? 适用于tr或tbody元素,并且似乎与大多数浏览器兼容,包括IE 8+,但以前不兼容。
感谢所有回复! 我已经尝试了这里提出的所有解决方案,并且我在互联网上搜索了更多可能的解决方案,并且我认为我找到了一个很有前途的解决方案:
tr.top td {
border-top: thin solid black;
}
tr.bottom td {
border-bottom: thin solid black;
}
tr.row td:first-child {
border-left: thin solid black;
}
tr.row td:last-child {
border-right: thin solid black;
}
<html>
<head>
</head>
<body>
<table cellspacing="0">
<tr>
<td>no border</td>
<td>no border here either</td>
</tr>
<tr class="top row">
<td>one</td>
<td>two</td>
</tr>
<tr class="bottom row">
<td>three</td>
<td>four</td>
</tr>
<tr>
<td colspan="2">once again no borders</td>
</tr>
<tr class="top bottom row">
<td colspan="2">hello</td>
</tr>
<tr>
<td colspan="2">world</td>
</tr>
</table>
</body>
</html>
如果您将border-collapse
样式设置为在父表上collapse
,则应该能够对tr
进行样式设置(样式对于演示而言是内联的)
<table style="border-collapse: collapse;">
<tr>
<td>No Border</td>
</tr>
<tr style="border:2px solid #f00;">
<td>Border</td>
</tr>
<tr>
<td>No Border</td>
</tr>
</table>
输出:
链接地址: http://www.djcxy.com/p/88783.html上一篇: Border around specific rows in a table?
下一篇: Why did XHTML have PCDATA inside script and style tags?