我该如何处理表格边框?

时间:2019-07-04 08:16:36

标签: html css html-table

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

![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

现在,我想知道以哪种方式处理表格边框,以便获得预期的结果。

2 个答案:

答案 0 :(得分:4)

您可以尝试对表行使用第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>

答案 1 :(得分:3)

希望可以帮助您

tbody tr:nth-child(2n) { border-bottom: 2px solid red; }