Javascript 打印时在表中添加分页符

Javascript 打印时在表中添加分页符,javascript,css,printing,Javascript,Css,Printing,下面是我的php页面的大致结构- <table> <tr> <th> header 1 </th> <th> header 2 </th> </tr> foreach (values as value) { <tr> <td> column 1 </td> <td> column 1 </td> &l

下面是我的php页面的大致结构-

<table>
  <tr>
    <th> header 1 </th>
    <th> header 2 </th>
  </tr>

 foreach (values as value) {

  <tr>
    <td> column 1 </td>
    <td> column 1 </td>
  </tr>

/* Here if condition is true and media=print I want to close the table, add a page break and start a whole new table as below so the page prints nicely */

  if (condition) {
     </table>
     <div style='page-break-after:always;'> </div>
     <table>

     <tr>
       <th> header 1 </th>
       <th> header 2 </th>
     </tr>

 }

}

标题1
标题2
foreach(值作为值){
第1栏
第1栏
/*在这里,如果条件为true且media=print,我想关闭该表,添加一个分页符并开始一个全新的表,如下所示,这样页面可以很好地打印*/
如果(条件){
标题1
标题2
}
}

是否有一种方法(可能是javascript)检查media=print,然后在表中添加分页符


感谢您的帮助。

您可以根据您的打印需要创建CSS样式指南。在需要分页符的位置添加类
分页符

@media all {
  .page-break  { display: none; }
}

@media print {
  .page-break  { display: block; page-break-before: always; }
}
第一个声明确保永远看不到分页符 视觉上…而第二个可以确保 打印机


<div class="page-break"></div>