2016-12-31 1 views
0

인쇄 된 문서의 각 페이지에 헤더를 추가하고 싶습니다.다중 페이지 문서의 각 페이지에 CSS 헤더 인쇄

콘텐츠의 일부가 마치 다음 페이지로가는 것처럼 page-break-inside: avoid을 사용하면 완전히 다음 페이지로 이동해야합니다.

콘텐츠 자체가 한 페이지 이상을 차지하는 경우 문제가 발생합니다. 테이블 구조는

<table class="super-table"> 
    <thead class="pageheader"> 
     <tr> 
      <td> 
       <?php echo $header; ?> 
      </td> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td> 
       <?php echo $content[0]; ?> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <?php echo $content[1]; ?> 
      </td> 
     </tr> 
    </tbody> 
    <tfoot> 
     <tr> 
      <td> 
       <?php echo $footer; ?> 
      </td> 
     </tr> 
    </tfoot> 
</table> 

CSS

@media print { 
    thead { 
     display: table-header-group; position: running(pageheader); 
    } 
    tr, td { 
     page-break-inside: avoid; 
    } 
    @page { 
     size: letter portrait; 
     @top-left { content: element(pageheader); } 
    } 
    .super-table { 
     page-break-after: always; 
    } 
} 

콘텐츠 한 페이지 이상을 차지하는 경우 헤더 중복이다. 머리글이 아닌 각 페이지의 내용에만 여백을 설정할 수 있습니까? margin-top을 @page에 추가하면 헤더도 아래로 이동합니다.

IMAGE: <thead> overlaps if content occupies more than one page

+0

이것은 PHP와는 아무런 관련이 없습니다. –

답변

0

그것은 PHP와 함께하지만, CSS와는 아무 상관이있다. PHP는 웹 사이트 디자인으로 조작 할 수 없으며 단지 내용 만 출력합니다.

아마도 이것을 찾고있을 것입니다 : Repeat table headers in print mode

관련 문제