html - 我该如何处理这样的表格边框?

标签 html css html-table

我希望实现这样的表格边框(注意第 3rd 行下的粗边框):

![enter image description here

所以,我编码如下,

body {
    font-family: Roboto Condensed;
    background-color: hsl(0, 0%, 25%);
    color: white;
    padding: 2px 5px 2px 5px;
}

table {
    border: 2px solid;
    border-collapse: collapse;
    width: 100%;
}
caption {
    font-weight: bold;
    border: 2px solid;
    border-collapse: collapse;
    padding: 8px;
    padding-top: 12px;
    padding-bottom: 12px;
}

th {
    border: 2px solid;
    padding: 8px;
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: hsla(0, 0%, 50%, .5);
    width: 10%;
}
td {
    border: 1px solid #ccc;
    padding: 8px;
    width: 15%;
}
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed" rel="stylesheet" type="text/css">

<table>
    <caption>TableCaption</caption>

    <tr>
    	<th>TableHeader</th>
    	<th>TableHeader</th>
    	<th>TableHeader</th>
    	<th>TableHeader</th>
    	<th>TableHeader</th>
    </tr>
    <tr>
    	<th rowspan="2">SpannedRow1</th>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    </tr>
    <tr>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    </tr>
    <tr>
    	<th rowspan="2">SpannedRow1</th>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    </tr>
    <tr>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    </tr>
</table>

结果是这样的(注意第三行下的边框不粗):

enter image description here

现在我想知道如何处理表格边框,这样我才能得到预期的结果。

最佳答案

您可以尝试对表格行使用第 n 个子项,如下所示:

tr:nth-child(3) {
  border-bottom: 2px solid white;
}

我在这里更新了您的代码片段:

body {
    font-family: Roboto Condensed;
    background-color: hsl(0, 0%, 25%);
    color: white;
    padding: 2px 5px 2px 5px;
}

table {
    border: 2px solid;
    border-collapse: collapse;
    width: 100%;
}
caption {
    font-weight: bold;
    border: 2px solid;
    border-collapse: collapse;
    padding: 8px;
    padding-top: 12px;
    padding-bottom: 12px;
}

th {
    border: 2px solid;
    padding: 8px;
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: hsla(0, 0%, 50%, .5);
    width: 10%;
}
td {
    border: 1px solid #ccc;
    padding: 8px;
    width: 15%;
}

tr:nth-child(3) {
  border-bottom: 2px solid white;
}
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed" rel="stylesheet" type="text/css">

<table>
    <caption>TableCaption</caption>

    <tr>
    	<th>TableHeader</th>
    	<th>TableHeader</th>
    	<th>TableHeader</th>
    	<th>TableHeader</th>
    	<th>TableHeader</th>
    </tr>
    <tr>
    	<th rowspan="2">SpannedRow1</th>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    </tr>
    <tr>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    </tr>
    <tr>
    	<th rowspan="2">SpannedRow1</th>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    </tr>
    <tr>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    	<td>TableData</td>
    </tr>
</table>

关于html - 我该如何处理这样的表格边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56883502/

相关文章:

html - 如何对齐表格内容 HTML 表格

javascript - 使用更改图像隐藏和显示 div

javascript - 如何更改CSS属性以显示:none when I press a radio button

html - 跨表的多个列分配单个标题属性

jquery - 如何垂直对齐具有绝对位置的div?

javascript - 如何自动将allowfullscreen添加到每个新的iframe

css - 如何摆脱我页面上的这个奇怪的框?

html - 使用 Flex Box 将列移动到下一行

javascript - 如何将超链接添加到表格行 <tr>

jquery - 删除第一列后保留表格高度 'tr'