Non esiste una page-break
proprietà effettiva in CSS. In realtà è un insieme di 3 proprietà: page-break-before
, page-break-after
e page-break-inside
. Queste proprietà aiutano a definire come dovrebbe comportarsi il documento una volta stampato. Ad esempio, per rendere un documento stampato più simile a un libro.
Proprietà
interruzione di pagina prima
La page-break-before
proprietà aggiunge un'interruzione di pagina prima dell'elemento a cui è applicata.
Nota : questa proprietà è in corso di sostituzione con la break-before
proprietà più generica . Questa nuova proprietà gestisce anche le interruzioni di colonna e di area pur essendo sintatticamente compatibile con page-break-before
. Quindi prima dell'uso page-break-before
, controlla se puoi usare break-before
invece.
Un caso d'uso comune per questo è applicarlo al selettore in #comments
modo che un utente che stampa una pagina con commenti possa facilmente scegliere di stampare l'intero documento ma fermarsi prima dei commenti in modo pulito.
interruzione di pagina dopo
La page-break-after
proprietà aggiunge un'interruzione di pagina dopo l'elemento a cui è applicata.
Nota : questa proprietà è in corso di sostituzione con la break-after
proprietà più generica . Questa nuova proprietà gestisce anche le interruzioni di colonna e di area pur essendo sintatticamente compatibile con page-break-after
. Quindi prima dell'uso page-break-after
, controlla se puoi usare break-after
invece.
page-break-inside
La page-break-inside
proprietà aggiunge un'interruzione di pagina all'interno dell'elemento a cui è applicata.
Sintassi
page-break-after : auto | always | avoid | left | right page-break-before : auto | always | avoid | left | right page-break-inside : auto | avoid
I valori left
e right
per page-break-before
e si page-break-after
riferiscono a un layout diffuso (come un libro) in cui sono presenti pagine distinte a sinistra e a destra. Funzionano così:
left
forza una o due interruzioni di pagina dopo l'elemento in modo che la pagina successiva sia formattata come pagina sinistra.right
forza una o due interruzioni di pagina dopo l'elemento in modo che la pagina successiva sia formattata come pagina destra.
Considera always
come un mix di entrambi. La specifica dice:
Un programma utente conforme può interpretare i valori "sinistra" e "destra" come "sempre".
Esempio
@media print ( h2 ( page-break-before: always; ) h3, h4 ( page-break-after: avoid; ) pre, blockquote ( page-break-inside: avoid; ) )
Questo frammento di codice fa 3 cose:
- forza un'interruzione di pagina prima di tutti i
h2
titoli (forse i tag h2 nel documento sono titoli di capitoli che meritano una nuova pagina) - previene le interruzioni di pagina subito dopo i sottotitoli perché sembra strano
- impedisce interruzioni di pagina all'interno di
pre
tag e virgolette a livello di blocco
Supporto browser
Cromo | Safari | Firefox | musica lirica | IE | Android | iOS |
---|---|---|---|---|---|---|
Qualunque | Qualunque | Qualunque | 7+ | 4+ | TBD | TBD |
Puoi stampare da dispositivi mobili, come AirPrint su iOS, ma non abbiamo testato così tanto. Se qualcuno dispone di dati sull'assistenza, faccelo sapere.