Sideskift - CSS-triks

Anonim

Det er ikke en faktisk page-breakeiendom i CSS. Det er faktisk et sett av 3 eiendommer: page-break-before, page-break-afterog page-break-inside. Disse egenskapene hjelper til med å definere hvordan dokumentet skal oppføre seg når det skrives ut. For eksempel å gjøre et trykt dokument mer boklignende.

Eiendommer

side-break-før

Den page-break-beforeegenskapen legger til en side-pause før elementet som den er brukt.

Merk : denne egenskapen pågår for å bli erstattet av den mer generiske break-beforeeiendommen. Denne nye egenskapen håndterer også kolonne- og regionbrudd mens den er syntaktisk kompatibel med page-break-before. page-break-beforeSjekk derfor om du kan bruke det i break-beforestedet før du bruker det .

En vanlig brukstilfelle for dette er å bruke den på velgeren, #commentsslik at en bruker som skriver ut en side med kommentarer, lett kan velge å skrive ut hele dokumentet, men stoppe før kommentarene er rene.

side-break-after

Den page-break-afteregenskapen legger til en side-pause etter element som det er brukt.

Merk : denne egenskapen pågår for å bli erstattet av den mer generiske break-aftereiendommen. Denne nye egenskapen håndterer også kolonne- og regionbrudd mens den er syntaktisk kompatibel med page-break-after. page-break-afterSjekk derfor om du kan bruke det i break-afterstedet før du bruker det .

sideinnbrudd

Den page-break-insideegenskapen legger til en side-break inne i elementet som den er brukt.

Syntaks

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

Den leftog rightverdier for page-break-beforeog page-break-afterreferere til en spredning layout (som en bok) der det er tydelig venstre og høyre side. De fungerer slik:

  • left tvinger en eller to sideskift etter elementet slik at neste side blir formatert som en venstre side.
  • right tvinger en eller to sideskift etter elementet slik at neste side blir formatert som en høyre side.

Betrakt alwayssom en blanding av begge deler. Spesifikasjonen sier:

En samsvarende brukeragent kan tolke verdiene 'venstre' og 'høyre' som 'alltid'.

Eksempel

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

Denne kodebiten gjør tre ting:

  • det tvinger et sideskift før alle h2overskrifter (kanskje h2-koder i dokumentet ditt er kapiteltitler som fortjener en ny side)
  • det forhindrer sideskift rett etter underoverskrifter fordi det ser rart ut
  • det forhindrer sideskift i prekoder og sitater på blokknivå

Nettleserstøtte

Chrome Safari Firefox Opera DVS Android iOS
Noen Noen Noen 7+ 4+ TBD TBD

Du kan skrive ut fra mobile enheter, som AirPrint på iOS, men vi har ikke testet så mye. Gi oss beskjed hvis noen har data om støtte.