Прекъсване на страницата - CSS-трикове

Anonim

В page-breakCSS няма действително свойство. Всъщност, това е набор от 3 имота: page-break-before, page-break-afterи page-break-inside. Тези свойства помагат да се определи как трябва да се държи документът при отпечатване. Например, за да направите отпечатан документ по-книжен.

Имоти

прекъсване на страницата преди

В page-break-beforeимота добавя страница пауза преди елемента, към който се прилага.

Забележка : това свойство е в процес на замяна с по-общото break-beforeсвойство. Това ново свойство също обработва прекъсвания на колони и региони, като е синтактично съвместимо с page-break-before. Затова преди да използвате page-break-before, проверете дали можете да използвате break-beforeвместо това.

Често използван случай за това е да го приложите към селектора, #commentsтака че потребителят, отпечатващ страница с коментари, лесно да избере да отпечата целия документ, но да спре преди коментарите чисто.

прекъсване на страницата

В page-break-afterимота добавя страница пауза след елемента, към който се прилага.

Забележка : това свойство е в процес на замяна с по-общото break-afterсвойство. Това ново свойство също обработва прекъсвания на колони и региони, като е синтактично съвместимо с page-break-after. Затова преди да използвате page-break-after, проверете дали можете да използвате break-afterвместо това.

прекъсване на страницата

В page-break-insideимота добавя страница пауза вътре в елемента, към който се прилага.

Синтаксис

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

В leftи rightстойности за page-break-beforeи page-break-afterсе отнасят за разпространение оформление (като книга), където има обособен лявата и дясната страници. Те работят по следния начин:

  • left принуждава едно или две прекъсвания на страници след елемента, така че следващата страница да бъде форматирана като лява страница.
  • right принуждава едно или две прекъсвания на страници след елемента, така че следващата страница да бъде форматирана като дясна страница.

Помислете alwaysза комбинация от двете. Спецификацията казва:

Съответстващ потребителски агент може да тълкува стойностите „ляво“ и „дясно“ като „винаги“.

Пример

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

Този кодов фрагмент прави 3 неща:

  • принуждава прекъсване на страницата преди всички h2заглавия (може би маркерите h2 във вашия документ са заглавия на глави, които заслужават нова страница)
  • предотвратява прекъсвания на страници веднага след подзаглавия, защото това изглежда странно
  • предотвратява прекъсвания на страници вътре в preтагове и кавички на ниво блок

Поддръжка на браузър

Chrome Сафари Firefox Опера IE Android iOS
Всякакви Всякакви Всякакви 7+ 4+ TBD TBD

Можете да печатате от мобилни устройства, като AirPrint на iOS, но не сме тествали толкова много. Ако някой има данни за поддръжка, да ни уведоми.