2008-11-08 53 views

Respuesta

65

Esto es para lo que es el elemento THEAD. Documentos oficiales here.

+1

no he pensado en eso, pero no parece funcionar en la práctica. – avernet

+1

Lo he usado con éxito en Firefox. – jishi

+5

Como de costumbre, requiere un navegador no roto; consulte el comentario de jishi. –

56

Algunos navegadores repiten el elemento thead en cada página, como se supone que deben hacerlo. Otros necesitan un poco de ayuda: Añadir esto a tu CSS:

thead {display: table-header-group;} 
tfoot {display: table-header-group;} 

Opera 7.5 e IE 5 no se repetirá cabeceras no importa lo que intente.

(source)

+0

Tampoco lo hace Flying Saucer, que estoy usando para generar un PDF. También haré esta pregunta en la lista de correo de Flying Saucer para ver si hay otra manera de hacerlo. – avernet

+7

Las últimas versiones de Chrome y Safari tampoco lo hacen actualmente. Ver mi respuesta para enlaces a sus rastreadores de problemas. –

+0

madre de dios, en el momento en que esto fue escrito IE5 todavía era algo? – igorsantos07

32

Flying Saucer xhtmlrenderer repite el THEAD en cada página del PDF de salida, si agrega el siguiente CSS:

 table { 
      -fs-table-paginate: paginate; 
     } 

(Funciona al menos desde el lanzamiento R8.)

+3

Esto es justo lo que estaba buscando. ¡Gracias! – Alex

+0

¡Impresionante! (el enlace está muerto: /) –

+0

error fijo en el enlace, gracias @CyrilN. – Eero

41

Antes de implementar esta solución, es importante saber que Webkit actualmente no hace esto.

Aquí es la cuestión relevante en el seguimiento de incidencias Chrome: http://code.google.com/p/chromium/issues/detail?id=24826

Y en el tema Webkit perseguidor: https://bugs.webkit.org/show_bug.cgi?id=17205

estrella en el seguimiento de incidencias Chrome si quiere mostrar que es importante para usted (Yo si).

+0

+1 Lo hice también. – Rap

+1

Gracias por esto, me hubiera causado un gran dolor de cabeza si no me hubiera desplazado hacia abajo. – Seiyria

+2

Y casi 4 años después (y 8 años desde que se archivó el problema de WebKit), ¡este sigue siendo el caso! – jcaron

4

Chrome y Opera navegadores no soportan thead {display: table-header-group;} pero el resto de otros apoyan adecuadamente ..

1

? ¿Cómo i print tabla HTML. Encabezado y pie de página en cada página

trabaja también en Webkit Navegadores

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script type="text/javascript"> 
     function PrintPage() { 
      document.getElementById('print').style.display = 'none'; 
      window.resizeTo(960, 600); 
      document.URL = ""; 
      window.location.href = ""; 
      window.print(); 
     } 

    </script> 
    <style type="text/css" media="print"> 
     @page 
     { 
      size: auto; /* auto is the initial value */ 
      margin: 2mm 4mm 0mm 0mm; /* this affects the margin in the printer settings */ 
     } 
     thead 
     { 
      display: table-header-group; 
     } 
     tfoot 
     { 
      display: table-footer-group; 
     } 
    </style> 
    <style type="text/css" media="screen"> 
     thead 
     { 
      display: block; 
     } 
     tfoot 
     { 
      display: block; 
     } 
    </style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <table style="width: 500px; margin: 0 auto;"> 
      <thead> 
       <tr> 
        <td> 
         header comes here for each page 
        </td> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td> 
         1 
        </td> 
       </tr> 
       <tr> 
        <td> 
         2 
        </td> 
       </tr> 
       <tr> 
        <td> 
         3 
        </td> 
       </tr> 
       <tr> 
        <td> 
         4 
        </td> 
       </tr> 
       <tr> 
        <td> 
         5 
        </td> 
       </tr> 
       <tr> 
        <td> 
         6 
        </td> 
       </tr> 
       <tr> 
        <td> 
         7 
        </td> 
       </tr> 
       <tr> 
        <td> 
         8 
        </td> 
       </tr> 
       <tr> 
        <td> 
         9 
        </td> 
       </tr> 
       <tr> 
        <td> 
         10 
        </td> 
       </tr> 
       <tr> 
        <td> 
         11 
        </td> 
       </tr> 
       <tr> 
        <td> 
         12 
        </td> 
       </tr> 
       <tr> 
        <td> 
         13 
        </td> 
       </tr> 
       <tr> 
        <td> 
         14 
        </td> 
       </tr> 
       <tr> 
        <td> 
         15 
        </td> 
       </tr> 
       <tr> 
        <td> 
         16 
        </td> 
       </tr> 
       <tr> 
        <td> 
         17 
        </td> 
       </tr> 
       <tr> 
        <td> 
         18 
        </td> 
       </tr> 
       <tr> 
        <td> 
         19 
        </td> 
       </tr> 
       <tr> 
        <td> 
         20 
        </td> 
       </tr> 
       <tr> 
        <td> 
         21 
        </td> 
       </tr> 
       <tr> 
        <td> 
         22 
        </td> 
       </tr> 
       <tr> 
        <td> 
         23 
        </td> 
       </tr> 
       <tr> 
        <td> 
         24 
        </td> 
       </tr> 
       <tr> 
        <td> 
         25 
        </td> 
       </tr> 
       <tr> 
        <td> 
         26 
        </td> 
       </tr> 
       <tr> 
        <td> 
         27 
        </td> 
       </tr> 
       <tr> 
        <td> 
         28 
        </td> 
       </tr> 
       <tr> 
        <td> 
         29 
        </td> 
       </tr> 
       <tr> 
        <td> 
         30 
        </td> 
       </tr> 
       <tr> 
        <td> 
         31 
        </td> 
       </tr> 
       <tr> 
        <td> 
         32 
        </td> 
       </tr> 
       <tr> 
        <td> 
         33 
        </td> 
       </tr> 
       <tr> 
        <td> 
         34 
        </td> 
       </tr> 
       <tr> 
        <td> 
         35 
        </td> 
       </tr> 
       <tr> 
        <td> 
         36 
        </td> 
       </tr> 
       <tr> 
        <td> 
         37 
        </td> 
       </tr> 
       <tr> 
        <td> 
         38 
        </td> 
       </tr> 
       <tr> 
        <td> 
         39 
        </td> 
       </tr> 
       <tr> 
        <td> 
         40 
        </td> 
       </tr> 
       <tr> 
        <td> 
         41 
        </td> 
       </tr> 
       <tr> 
        <td> 
         42 
        </td> 
       </tr> 
       <tr> 
        <td> 
         43 
        </td> 
       </tr> 
       <tr> 
        <td> 
         44 
        </td> 
       </tr> 
       <tr> 
        <td> 
         45 
        </td> 
       </tr> 
       <tr> 
        <td> 
         46 
        </td> 
       </tr> 
       <tr> 
        <td> 
         47 
        </td> 
       </tr> 
       <tr> 
        <td> 
         48 
        </td> 
       </tr> 
       <tr> 
        <td> 
         49 
        </td> 
       </tr> 
       <tr> 
        <td> 
         50 
        </td> 
       </tr> 
       <tr> 
        <td> 
         51 
        </td> 
       </tr> 
       <tr> 
        <td> 
         52 
        </td> 
       </tr> 
       <tr> 
        <td> 
         53 
        </td> 
       </tr> 
       <tr> 
        <td> 
         54 
        </td> 
       </tr> 
       <tr> 
        <td> 
         55 
        </td> 
       </tr> 
      </tbody> 
      <tfoot> 
       <tr> 
        <td> 
         footer comes here for each page 
        </td> 
       </tr> 
      </tfoot> 
     </table> 
    </div> 
    <br clear="all" /> 
    <input type="button" id="print" name="print" value="Print" onclick="javascript:PrintPage();" 
     class="button" /> 
    </form> 
</body> 
</html> 
Cuestiones relacionadas