css pdf 页面 - header 与内容重叠
css pdf page - header overlapping with content
正如我们从图片中看到的,我的内容与 header 图片重叠,这是我的代码:
<style type="text/css" media="print">
@page {
/*size:landscape;*/
@top-center {
content: element(header);
}
@bottom-left {
content: element(footer);
}
}
div.header {
padding: 10px;
position: running(header);
}
div.footer {
display: block;
padding: 5px;
position: running(footer);
}
.pagenumber:before {
content: counter(page);
}
.pagecount:before {
content: counter(pages);
}
</style>
</head>
<div class="header">
<img src="logo.png" title="logo" width="200px"/>
</div>
<div class="content">
</div>
P.S.: 请不要将此问题作为重复问题关闭,因为我已经搜索了所有与该问题相关的问题,但我的看起来不同,因为 PDF 是涉及。
页眉和页脚建立在页边距内。
所以解决办法就是增加页边距,例如:
@page {
margin-top: 50mm;
}
在 PDF 中正确实现页眉页脚的方法
在互联网上找到很多不同的解决方案和解决方法后,我终于分享了一种适合我的方法。
请将这些样式添加到报表容器(呈现报表的div)。
<div #scrollingContainer class="col-xxs-9 content-container" style="overflow-x: hidden;width:100%;">
</div>
// Div 属性可能不同
根据页眉和页脚的大小,将 Doc 组件用 thead 和 tfoot 包装到 table 结构中(table 包装在 div 中)。
<div style="width: 100%;">
<table style="table-layout: fixed; width: 100%;"> // Add this css to make main table fixed, child tables will still scroll
<thead class="page-break-before">
<tr>
<td>
<div style="height: 80px;"></div> // space for the respective header
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<div> Your Data Goes Here........</div>
</td>
</tr>
</tbody>
<tfoot class="show-in-print page-break-after">
<tr>
<td>
<div style="height: 130px;"></div> // space for the respective footer
</td>
</tr>
</tfoot>
</table>
</div>
示例页眉和页脚
<div class="page-break-before">
<div>A long header content...</div>
</div>
<div class=" page-break-after">
<p> A long footer content...</p>
</div>
正如我们从图片中看到的,我的内容与 header 图片重叠,这是我的代码:
<style type="text/css" media="print">
@page {
/*size:landscape;*/
@top-center {
content: element(header);
}
@bottom-left {
content: element(footer);
}
}
div.header {
padding: 10px;
position: running(header);
}
div.footer {
display: block;
padding: 5px;
position: running(footer);
}
.pagenumber:before {
content: counter(page);
}
.pagecount:before {
content: counter(pages);
}
</style>
</head>
<div class="header">
<img src="logo.png" title="logo" width="200px"/>
</div>
<div class="content">
</div>
P.S.: 请不要将此问题作为重复问题关闭,因为我已经搜索了所有与该问题相关的问题,但我的看起来不同,因为 PDF 是涉及。
页眉和页脚建立在页边距内。
所以解决办法就是增加页边距,例如:
@page {
margin-top: 50mm;
}
在 PDF 中正确实现页眉页脚的方法
在互联网上找到很多不同的解决方案和解决方法后,我终于分享了一种适合我的方法。
请将这些样式添加到报表容器(呈现报表的div)。
<div #scrollingContainer class="col-xxs-9 content-container" style="overflow-x: hidden;width:100%;">
</div>
// Div 属性可能不同
根据页眉和页脚的大小,将 Doc 组件用 thead 和 tfoot 包装到 table 结构中(table 包装在 div 中)。
<div style="width: 100%;">
<table style="table-layout: fixed; width: 100%;"> // Add this css to make main table fixed, child tables will still scroll
<thead class="page-break-before">
<tr>
<td>
<div style="height: 80px;"></div> // space for the respective header
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<div> Your Data Goes Here........</div>
</td>
</tr>
</tbody>
<tfoot class="show-in-print page-break-after">
<tr>
<td>
<div style="height: 130px;"></div> // space for the respective footer
</td>
</tr>
</tfoot>
</table>
</div>
示例页眉和页脚
<div class="page-break-before">
<div>A long header content...</div>
</div>
<div class=" page-break-after">
<p> A long footer content...</p>
</div>