Sidbrytning - CSS-tricks

Anonim

Det finns ingen faktisk page-breakegendom i CSS. Det är faktiskt en uppsättning av 3 egenskaper page-break-before, page-break-afteroch page-break-inside. Dessa egenskaper hjälper till att definiera hur dokumentet ska fungera när det skrivs ut. Till exempel för att göra ett tryckt dokument mer boklikt.

Egenskaper

sidbrytning före

Den page-break-beforeegenskapen lägger till en sida-paus innan det element som den tillämpas.

Obs : den här egenskapen pågår för att ersättas med den mer generiska break-beforeegenskapen. Den här nya egenskapen hanterar också kolumn- och regionbrytningar samtidigt som den är syntaktiskt kompatibel med page-break-before. page-break-beforeKontrollera alltså innan du använder det break-beforeistället.

Ett vanligt användningsfall för detta är att applicera det på väljaren #commentsså att en användare som skriver ut en sida med kommentarer lätt kan välja att skriva ut hela dokumentet men sluta innan kommentarerna är rena.

sidbrytning

Den page-break-afteregenskapen lägger till en sida-paus efter det element som den tillämpas.

Obs : den här egenskapen pågår för att ersättas med den mer generiska break-afteregenskapen. Den här nya egenskapen hanterar också kolumn- och regionbrytningar samtidigt som den är syntaktiskt kompatibel med page-break-after. page-break-afterKontrollera alltså innan du använder det break-afteristället.

sidbrytning

Den page-break-insideegenskapen lägger till en sida-break inne i element som den tillämpas.

Syntax

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

Den leftoch rightvärden för page-break-beforeoch page-break-afterhänvisar till en spridning layout (som en bok) där det finns distinkta vänstra och högra sidor. De fungerar så här:

  • left tvingar en eller två sidbrytningar efter elementet så att nästa sida formateras som en vänster sida.
  • right tvingar en eller två sidbrytningar efter elementet så att nästa sida formateras som en rätt sida.

Betrakta alwayssom en blandning av båda. Specifikationen säger:

En överensstämmande användaragent kan tolka värdena "vänster" och "höger" som "alltid".

Exempel

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

Det här kodavsnittet gör tre saker:

  • det tvingar en sidbrytning före alla h2rubriker (kanske h2-taggar i ditt dokument är kapiteltitlar som förtjänar en ny sida)
  • det förhindrar sidbrytningar direkt efter underrubriker eftersom det ser konstigt ut
  • det förhindrar sidbrytningar inuti pretaggar och citat på blocknivå

Webbläsarstöd

Krom Safari Firefox Opera IE Android iOS
Några Några Några 7+ 4+ TBD TBD

Du kan skriva ut från mobila enheter, som AirPrint på iOS, men vi har inte testat så mycket. Låt oss veta om någon har supportinformation.