简体   繁体   English

如何制作页眉/页脚和内容进行打印,以便页眉/页脚在每个页面重复

[英]How to make a header/footer and content for print so that header/footer repeat at each page

I have a header div a footer and a content. 我有一个页眉div页脚和内容。 What I want to do is to print the page so that header and footer display on each page but content displays in between. 我想要做的是打印页面,以便页眉和页脚显示在每个页面上,但内容显示在两者之间。 But the problem is content overlaps or hides under the header and footer. 但问题是页眉和页脚下的内容重叠或隐藏。 Here's the Example of what I have so far: https://jsfiddle.net/2ogx55p2/ 这是我到目前为止的例子: https//jsfiddle.net/2ogx55p2/

I tried playing with contentDiv's margins and changing position to absolute or relative. 我尝试使用contentDiv的边距并将位置更改为绝对或相对。 but nothing worked out. 但没有成功。

A help would be really nice. 帮助会非常好。 thanks 谢谢

 .headerDiv { width: 100%; background-color: cadetblue; height: 100px; } .contentDiv {} .reportFooter { bottom: 0px; width: 100%; background-color: gray; display: block; height: 100px; } @media print { .headerDiv { position: fixed; top: 0px; width: 100%; background-color: cadetblue; height: 100px; } .contentDiv { z-index: 100; } .reportFooter { position: fixed; bottom: 0px; width: 100%; background-color: gray; display: block; height: 100px; } } 
 <header class="headerDiv"></header> <div class="contentDiv"> <h1>1 test Test TEst TESt TEST</h1> <h1>2 test Test TEst TESt TEST</h1> <h1>3 test Test TEst TESt TEST</h1> <h1>4 test Test TEst TESt TEST</h1> <h1>5 test Test TEst TESt TEST</h1> <h1>6 test Test TEst TESt TEST</h1> <h1>7 test Test TEst TESt TEST</h1> <h1>8 test Test TEst TESt TEST</h1> <h1>9 test Test TEst TESt TEST</h1> <h1>12 test Test TEst TESt TEST</h1> <h1>13 test Test TEst TESt TEST</h1> <h1>14 test Test TEst TESt TEST</h1> <h1>15 test Test TEst TESt TEST</h1> <h1>16 test Test TEst TESt TEST</h1> <h1>17 test Test TEst TESt TEST</h1> <h1>18 test Test TEst TESt TEST</h1> <h1>19 test Test TEst TESt TEST</h1> <h1>20 test Test TEst TESt TEST</h1> <h1>21 test Test TEst TESt TEST</h1> <h1>22 test Test TEst TESt TEST</h1> <h1>23 test Test TEst TESt TEST</h1> <h1>24 test Test TEst TESt TEST</h1> <h1>25 test Test TEst TESt TEST</h1> <h1>26 test Test TEst TESt TEST</h1> </div> <footer class="reportFooter"></footer> 

Do it parrent container as a flex. 将它作为弹性容器。

 * { margin: 0; padding: 0; border: none; } .headerDiv, .contentDiv, .reportFooter { width: 100%; } .headerDiv { background-color: cadetblue; } .reportFooter { background-color: gray; } body { display: flex; flex-direction: column; } .headerDiv, .reportFooter { flex: 0 0 100px; } .contentDiv { flex: 1000 0; min-height: calc(100vh - 200px); } 
 <header class="headerDiv"></header> <div class="contentDiv"> <h1>1 test Test TEst TESt TEST</h1> <h1>2 test Test TEst TESt TEST</h1> <h1>3 test Test TEst TESt TEST</h1> <h1>4 test Test TEst TESt TEST</h1> <h1>5 test Test TEst TESt TEST</h1> <h1>6 test Test TEst TESt TEST</h1> <h1>7 test Test TEst TESt TEST</h1> <h1>8 test Test TEst TESt TEST</h1> <h1>9 test Test TEst TESt TEST</h1> <h1>12 test Test TEst TESt TEST</h1> <h1>13 test Test TEst TESt TEST</h1> <h1>14 test Test TEst TESt TEST</h1> <h1>15 test Test TEst TESt TEST</h1> <h1>16 test Test TEst TESt TEST</h1> <h1>17 test Test TEst TESt TEST</h1> <h1>18 test Test TEst TESt TEST</h1> <h1>19 test Test TEst TESt TEST</h1> <h1>20 test Test TEst TESt TEST</h1> <h1>21 test Test TEst TESt TEST</h1> <h1>22 test Test TEst TESt TEST</h1> <h1>23 test Test TEst TESt TEST</h1> <h1>24 test Test TEst TESt TEST</h1> <h1>25 test Test TEst TESt TEST</h1> <h1>26 test Test TEst TESt TEST</h1> </div> <footer class="reportFooter"></footer> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM