2011-02-07 116 views
8

我想在後續頁面中使用browsser打印功能時顯示錶頭。 使用Firefox我只能在第一頁顯示標題。標題由標記定義。 代碼如下:在後續頁面中打印表頭

<html> 
<head> 
    <style type="text/css"> 
     @media print 
     {   
      thead 
      { 
       display: table-header-group;  
      } 
     } 
    </style> 
</head> 
<body>  
    <table> 
     <thead> 
      <tr><td>header1</td></tr> 
      <tr><td>header2</td></tr> 
      <tr><td>header3</td></tr> 
      <tr><td>header4</td></tr> 
      <tr><td>header5</td></tr> 
      <tr><td>header6</td></tr> 
      <tr><td>header7</td></tr> 
      <tr><td>header8</td></tr> 
      <tr><td>header9</td></tr> 
      <tr><td>header10</td></tr> 
      <tr><td>header11</td></tr> 
      <tr><td>header12</td></tr> 
      <tr><td>header13</td></tr>     
     </thead> 
     <tbody> 
      <tr><td> 
      Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/> 
      Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/> 
      Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/> 
      Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/> 
      Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>Text<br/>   
      </td></tr> 
     </tbody> 
    <table> 

</body> 

使用打印預覽測試我的描述。 如果您刪除的代碼

<tr><td>header13</td></tr> 

頭出現在所有頁面下面一行像我想。如何解決這個問題? 這似乎是表頭的最大高度的問題。

回答

0

嘗試使用<th>而不是<td>在單元格的表格標題中。瀏覽器應該在每個頁面上自動打印這些標題。 另外,請確保每個<tbody>行中的單元格數量等於標題中的單元格數量。

+0

我試着你說的話,但不幸的是不工作。請嘗試我的示例,看看是不是工作,然後刪除「標題13」行。那麼行爲是預期的。我想這就是thead標籤的最大高度的問題 – 2011-02-07 18:59:38

2

不確定爲什麼你的thead上有太多的行。下面的代碼工作得很好(在Firefox上測試)。我還測試了20個表頭,仍然很好。

<html> 
<head> 
    <style type="text/css"> 
     @media print { 
      thead 
      { 
       display: table-header-group; 
      } 
     } 
    </style> 
</head> 
<body> 
    <table> 
     <thead> 
      <tr> 
       <th>header1</th> 
       <th>header2</th> 
       <th>header3</th> 
       <th>header4</th> 
       <th>header5</th> 
       <th>header6</th> 
       <th>header7</th> 
       <th>header8</th> 
       <th>header9</th> 
       <th>header10</th> 
       <th>header11</th> 
       <th>header12</th> 
       <th>header13</th> 
      </tr>    
     </thead> 
     <tbody> 
      <tr> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
       <td>text</td> 
      </tr> 
      <!-- 
       Code is too long to paste. 
       If you're using emmet/zencoding, try to expand 
       the code below to print 1000 rows 

       (tr>(td{text})*13)*1000 
      --> 
     </tbody> 
    <table> 
</body> 
+0

這是1行還是13行? – 2017-12-13 00:36:22