Pagina-break - CSS-Tricks

Anonim

Nu există o page-breakproprietate reală în CSS. Acesta este de fapt un set de 3 proprietăți: page-break-before, page-break-afterși page-break-inside. Aceste proprietăți ajută la definirea modului în care documentul ar trebui să se comporte atunci când este tipărit. De exemplu, pentru a face un document tipărit mai asemănător unei cărți.

Proprietăți

pagina-break-before

page-break-beforeProprietatea adaugă o pagină pauză înainte de elementul la care este aplicat.

Notă : această proprietate este în curs de înlocuire cu cea mai generică break-before. Această nouă proprietate gestionează, de asemenea, pauzele de coloană și regiune, fiind în același timp compatibilă din punct de vedere sintactic cu page-break-before. Astfel, înainte de utilizare page-break-before, verificați dacă puteți utiliza break-beforeîn schimb.

Un caz de utilizare obișnuit pentru aceasta este aplicarea acestuia la selector, #commentsastfel încât un utilizator care tipărește o pagină cu comentarii să poată alege cu ușurință să tipărească întregul document, dar să se oprească înainte de comentarii în mod curat.

pagina-break-after

page-break-afterProprietatea adaugă o pagină pauză după elementul la care este aplicat.

Notă : această proprietate este în curs de înlocuire cu cea mai generică break-after. Această nouă proprietate gestionează, de asemenea, pauzele de coloană și regiune, fiind în același timp compatibilă din punct de vedere sintactic cu page-break-after. Astfel, înainte de utilizare page-break-after, verificați dacă puteți utiliza break-afterîn schimb.

pagina-break-inside

page-break-insideProprietatea adaugă o pagină-break în interiorul elementului pentru care este aplicat.

Sintaxă

page-break-after : auto | always | avoid | left | right page-break-before : auto | always | avoid | left | right page-break-inside : auto | avoid

Valorile leftși rightvalorile pentru page-break-beforeși page-break-afterse referă la un aspect răspândit (cum ar fi o carte) în care există pagini distincte la stânga și la dreapta. Ei funcționează astfel:

  • left forțează una sau două pauze de pagină după element, astfel încât pagina următoare să fie formatată ca o pagină din stânga.
  • right forțează una sau două pauze de pagină după element, astfel încât pagina următoare să fie formatată ca o pagină dreaptă.

Luați alwaysîn considerare un amestec al ambelor Caietul de sarcini spune:

Un agent de utilizator conform poate interpreta valorile „stânga” și „dreapta” ca „întotdeauna”.

Exemplu

@media print ( h2 ( page-break-before: always; ) h3, h4 ( page-break-after: avoid; ) pre, blockquote ( page-break-inside: avoid; ) )

Acest fragment de cod face 3 lucruri:

  • forțează o pauză de pagină înainte de toate h2titlurile (poate că etichetele h2 din documentul dvs. sunt titluri de capitole care merită o pagină nouă)
  • previne întreruperile de pagină imediat după sub-titluri, deoarece arată ciudat
  • previne întreruperile de pagină în preetichete și ghilimele la nivel de bloc

Suport pentru browser

Crom Safari Firefox Operă IE Android iOS
Orice Orice Orice 7+ 4+ TBD TBD

Puteți imprima de pe dispozitive mobile, cum ar fi AirPrint pe iOS, dar nu am testat atât de mult. Dacă cineva are date despre asistență, anunțați-ne.