參考: https://cdc.tencent.com/2014/08/19/print-%E8%A2%AB%E5%9F%8B%E6%B2%A1%E7%9A%84media-type/
整體思路:設定tr内部不分頁,給td設定右下邊框,再給第一列和末行的td分别設定border-left和border-bottom來充當table的左下邊框。最後設定表頭樣式為一條線,充當表格的上邊框,設定每頁列印表頭,以保證分頁後的表格有上邊框
注意:不要直接給table設定border,分頁以後底部會有斷線
具體步驟如下(此處使用scss編寫):
1、設定tr内部不分頁
tr {
page-break-inside: avoid;
}
2、td設定右下邊框,注意不能給table設定border
$dark: #333;
td {
border-right: 1px solid $dark;
border-bottom: 1px solid $dark;
}
3、第一列和末行的td分别設定border-left和border-bottom,畫出table的左下邊框
tr {
&:nth-last-child(1) {
td {
border-bottom: 1px solid $dark;
}
}
}
4、設定表頭樣式為一條線,充當表格的上邊框,設定每頁列印表頭,以保證分頁後的表格有上邊框
<thead>
<tr class="head-tr">
<td colspan="7"></td>
</tr>
</thead>
thead {
display:table-header-group;
.head-tr {
height: 1px !important;
}
}