2012-12-30 5 views
12

Ho un'applicazione Web e ha un report che potrebbe superare una pagina e vorrei stampare un'intestazione e un piè di pagina in ogni pagina. ho trovato e provato questo: Repeating a report header in each page ma non ha funzionato per me.Io prova opera, IE9, Firefox, Google Chrome ma ... nothing.page-margin funziona bene ma il contenuto è quello che voglio e non lo fa lavoro.intestazioni e piè di pagina in ogni pagina in modalità di stampa con css

+0

Possibile duplicato di [Come utilizzare l'HTML per stampare intestazione e piè di pagina su ogni pagina stampata di un documento?] (Http://stackoverflow.com/questions/1360869/how-to-use-html-to-print- header-and-footer-on-every-printed-page-of-a-document) – Quentin

risposta

13

È possibile impostare un position: fixed; intestazione e piè di pagina in modo che si ripeterà in ogni pagina

Per esempio

<header class="onlyprint"><!--Content Goes Here--></header> 
<footer class="onlyprint"><!--Content Goes Here--></footer> 

@media screen { 
    header.onlyprint, footer.onlyprint{ 
     display: none; /* Hide from screen */ 
    } 
} 

@media print { 
    header.onlyprint { 
     position: fixed; /* Display only on print page (each) */ 
     top: 0; /* Because it's header */ 
    } 
    footer.onlyprint { 
     position: fixed; 
     bottom: 0; /* Because it's footer */ 
    } 
} 
+0

funziona su webkit? –

+0

@ PauFracés Prima non supportava, non ero sicuro dello stato attuale, l'avevo usato per Firefox indietro così ho pensato che questo potesse aiutarlo –

+0

Ho a che fare con lo stesso argomento, ma ho bisogno che funzioni sul webkit. Non sono stato in grado di farlo con html + css quindi sto lavorando proprio ora in una libreria javascirpt per portare a termine il lavoro. Quindi il mio interesse –

5

Apprezzo molto il vostro risposta, ma ho usato questa soluzione (position: fixed) prima e il contenuto della pagina sarebbe mascherato dall'intestazione. quindi devo usare "@page" che funziona solo con la proprietà "Margin" e "Content" non funziona o in altre parole non riesco a raggiungere il risultato che voglio.

+3

Funzionerà con 'position: fixed'. Ad esempio, se si imposta il margine di * @ page: margin-top: 2mm *, attenua la pagina html in * html: margin-top: 20mm * e l'intestazione fissa su * header: margin: 0 *. Ciò metterà l'intestazione fissa al margine della pagina di 2 mm mentre il contenuto della pagina sarà conforme al margine html di 20 mm. Nessuna sovrapposizione, anche su stampa. – frequent

+0

grazie! questo commento lo ha fatto per me! –

+0

il margine 'html' è un trucco intelligente. Funziona bene. Sai se posso cambiare quello per pagina stampata? – ppumkin