2012-07-16 18 views
6

una delle mie applicazioni è POS (punto di vendita) basata sul web. così mentre stampi le fatture in chrome. pagina intestazione e piè di pagina inserita automaticamente dal browser che voglio sopprimere tramite la pagina e senza l'intervento dell'utente ..CSS: Disabilita intestazione e piè di pagina da Anteprima di stampa Chrome

ho applicato alcuni CSS over-qui a dei supporti di stampa,

@media print { 
#header, #footer { 
    visibility: hidden !important; 
    display: none !important; 
} 
} 

Ma non si sta applicando, forse il selettore non è corretto?

E ho anche provato riducendo il margine, ma tagliando/sovrascrivendo il contenuto della pagina, se la stampa ha più pagine .. E ancora una cosa, non voglio disabilitare l'opzione di anteprima di stampa per chrome ..

Qualcuno ha una buona soluzione per questo?

migliori saluti ..

+0

il tuo codice sembra buono, anche se 'visibility' è ridondante. Controlla se il footer e l'intestazione hanno id, che corrispondono a quelli che usi nel selettore CSS. – c69

+0

In realtà non sono in grado di esaminare l'id o la classe dell'intestazione e del piè di pagina nell'anteprima di stampa ... Potresti provare al tuo fianco ...? –

+0

lol, quindi non intendi intestazione e piè di pagina ma [intestazione/piè di pagina] (http://en.wikipedia.org/wiki/Page_header)? scusa, non puoi nasconderli tramite css, ma puoi convertire la tua pagina in pdf o doc, che consente un controllo molto migliore sulla stampa, e inviare questo documento alla stampante. – c69

risposta

18

uso

@page{margin:0px auto;} 

nello script CSS. Questo probabilmente causerà il tuo layout di pagina durante la stampa, quindi probabilmente vorrai aggiungere un div #container con il padding corretto per rendere la tua pagina ancora più bella. Testato solo su Google Chrome.

+0

Se potessi invertire questa risposta più di una volta, lo farei. Sei un ** life saver **. Grazie!! –

-1

. . Non sono sicuro di quanto sei esperto nello sviluppo, ma i selettori CSS devono corrispondere ad alcuni elementi. La [pagina] "intestazione" e [pagina] "piè di pagina", come nella "pagina [stampata]", non come nella "pagina web", non possono essere presi di mira da CSS come questo, specialmente non con scelte arbitrarie Gli ID e quelli che probabilmente colliderebbero con i propri ID di pagina e che i produttori di browser non accetterebbero mai di implementare.

. . Il suggerimento di usare "margin: 0 auto;" su una direttiva "@page" è effettivamente corretto (dal momento che il browser non ha margine sufficiente per essere mostrato, si limiterà a nasconderlo). Il problema è che al momento solo Chrome lo supporta correttamente. Con altri browser non hai buone opzioni oltre a creare un PDF e stamparlo. Puoi creare un PDF auto-stampabile che mostrerà la finestra di dialogo di stampa non appena verrà caricato utilizzando JavaScript incorporato su di esso, però, ma penso che sia il più lontano possibile.

. . In bocca al lupo.

Problemi correlati