- CSS: page-break-after property
- Description
- Syntax
- Parameters or Arguments
- Note
- Browser Compatibility
- Example
- Always
- Avoid
- Left
- Right
- Auto
- break-after
- Try it
- Syntax
- Values
- Generic break values
- Page break values
- Column break values
- Region break values
- Page break aliases
- Formal definition
- Formal syntax
- Examples
- Breaking into neat columns
- HTML
- CSS
- CSS page-break-after Property
- Browser Support
- CSS Syntax
- Property Values
- page-break-after¶
- Демо¶
- Синтаксис¶
- Значения¶
- Спецификации¶
- Поддержка браузерами¶
- Описание и примеры¶
CSS: page-break-after property
This CSS tutorial explains how to use the CSS property called page-break-after with syntax and examples.
Description
The CSS page-break-after property defines how to handle page breaks after an element.
Syntax
The syntax for the page-break-after CSS property is:
Parameters or Arguments
Determines how to handle page breaks after an element. It can be one of the following:
Value | Description |
---|---|
auto | Page breaks after the element are automatically created as required. p |
always | Page breaks are always forced after the element. p |
avoid | Page breaks are avoided after the element. p |
left | Page breaks are forced after the element resulting in the browser formatting the next page as a left page. p |
right | Page breaks are forced after the element resulting in the browser formatting the next page as a right page. p |
inherit | Element will inherit the page-break-after from its parent element p |
Note
Browser Compatibility
The CSS page-break-after property has basic support with the following browsers:
- Chrome
- Firefox (Gecko)
- Internet Explorer (IE)
- Opera 7+
- Safari (WebKit)
Example
We will discuss the page-break-after property below, exploring examples of how to use this property in CSS.
Always
Let’s look at an example of how to set the page-break-after property to always.
The CSS would look like this:
In this CSS example, the page-break-after property is set to always. This means that when the page is printed, the browser should always force a page break after the paragraph tag.
Avoid
Let’s look at an example of how to set the page-break-after property to avoid.
The CSS would look like this:
In this CSS example, the page-break-after property is set to avoid. This means that when the page is printed, the browser should format the page to avoid a page break after the paragraph tag.
Left
Let’s look at an example of how to set the page-break-after property to left.
The CSS would look like this:
In this CSS example, the page-break-after property is set to left. This means that when the page is printed, the browser should format the page so that the next page after the paragraph tag is formatted as a left page.
Right
Let’s look at an example of how to set the page-break-after property to right.
The CSS would look like this:
In this CSS example, the page-break-after property is set to right. This means that when the page is printed, the browser should format the page so that the next page after the paragraph tag is formatted as a right page.
Auto
Now let’s look at how to set the page-break-after property to auto.
The CSS would look like this:
In this CSS page-break-after example, the page-break-after property is set to auto. This means that when the page is printed, the browser should automatically generate page breaks where appropriate. This is the default behavior.
break-after
The break-after CSS property sets how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.
Try it
Syntax
/* Generic break values */ break-after: auto; break-after: avoid; break-after: always; break-after: all; /* Page break values */ break-after: avoid-page; break-after: page; break-after: left; break-after: right; break-after: recto; break-after: verso; /* Column break values */ break-after: avoid-column; break-after: column; /* Region break values */ break-after: avoid-region; break-after: region; /* Global values */ break-after: inherit; break-after: initial; break-after: revert; break-after: revert-layer; break-after: unset;
Each possible break point (in other words, each element boundary) is affected by three properties: the break-after value of the previous element, the break-before value of the next element, and the break-inside value of the containing element.
To determine if a break must be done, the following rules are applied:
- If any of the three concerned values is a forced break value ( always , left , right , page , column , or region ), it has precedence. If more than one of them are such a break, the one of the element that appears the latest in the flow is taken (i.e., the break-before value has precedence over the break-after value, which itself has precedence over the break-inside value).
- If any of the three concerned values is an avoid break value ( avoid , avoid-page , avoid-region , or avoid-column ), no such break will be applied at that point.
Once forced breaks have been applied, soft breaks may be added if needed, but not on element boundaries that resolve in a corresponding avoid value.
Values
Generic break values
Allows, but does not force, any break (page, column, or region) to be inserted right after the principal box.
Avoids any break (page, column, or region) from being inserted right after the principal box.
Forces a page break right after the principal box. The type of this break is that of the immediately-containing fragmentation context. If we are inside a multicol container then it would force a column break, inside paged media (but not inside a multicol container) a page break.
Forces a page break right after the principal box. Breaking through all possible fragmentation contexts. So a break inside a multicol container, which was inside a page container would force a column and page break.
Page break values
Avoids any page break right after the principal box.
Forces a page break right after the principal box.
Forces one or two page breaks right after the principal box, whichever will make the next page into a left page. It’s the page placed on the left side of the spine of the book or the back side of the page in duplex printing.
Forces one or two page breaks right after the principal box, whichever will make the next page into a right page. It’s the page placed on the right side of the spine of the book or the front side of the page in duplex printing.
Forces one or two page breaks right after the principal box, whichever will make the next page into a recto page. (A recto page is a right page in a left-to-right spread or a left page in a right-to-left spread.)
Forces one or two page breaks right after the principal box, whichever will make the next page into a verso page. (A verso page is a left page in a left-to-right spread or a right page in a right-to-left spread.)
Column break values
Avoids any column break right after the principal box.
Forces a column break right after the principal box.
Region break values
Avoids any region break right after the principal box.
Forces a region break right after the principal box.
Page break aliases
For compatibility reasons, the legacy page-break-after property should be treated by browsers as an alias of break-after . This ensures that sites using page-break-after continue to work as designed. A subset of values should be aliased as follows:
page-break-after | break-after |
---|---|
auto | auto |
left | left |
right | right |
avoid | avoid |
always | page |
Note: The always value of page-break-* was implemented by browsers as a page break, and not as a column break. Therefore the aliasing is to page , rather than the always value in the Level 4 spec.
Formal definition
Formal syntax
break-after =
auto |
avoid |
always |
all |
avoid-page |
page |
left |
right |
recto |
verso |
avoid-column |
column |
avoid-region |
region
Examples
Breaking into neat columns
In the following example we have a container that contains an spanning all columns (achieved using column-span: all ) and a series of s and paragraphs laid out in multiple columns using column-width: 200px .
By default, the subheadings and paragraphs were laid out rather messily because the headings were not in a uniform place. However, we used break-after: column on the
elements to force a column break after each one, meaning that you end up with an neatly at the top of each column.
HTML
article> h1>Main headingh1> h2>Subheadingh2> p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae fringilla mauris. Quisque commodo eget nisi sed pretium. Mauris luctus nec lacus in ultricies. Mauris vitae hendrerit arcu, ac scelerisque lacus. Aliquam lobortis in lacus sit amet posuere. Fusce iaculis urna id neque dapibus, eu lacinia lectus dictum. p> h2>Subheadingh2> p> Praesent condimentum dui dui, sit amet rutrum diam tincidunt eu. Cras suscipit porta leo sit amet rutrum. Sed vehicula ornare tincidunt. Curabitur a ipsum ac diam mattis volutpat ac ut elit. Nullam luctus justo non vestibulum gravida. Morbi metus libero, pharetra non porttitor a, molestie nec nisi. p> h2>Subheadingh2> p> Vivamus eleifend metus vitae neque placerat, eget interdum elit mattis. Donec eu vulputate nibh. Ut turpis leo, malesuada quis nisl nec, volutpat egestas tellus. p> h2>Subheadingh2> p> In finibus viverra enim vel suscipit. Quisque consequat velit eu orci malesuada, ut interdum tortor molestie. Proin sed pellentesque augue. Nam risus justo, faucibus non porta a, congue vel massa. Cras luctus lacus nisl, sed tincidunt velit pharetra ac. Duis suscipit faucibus dui sed ultricies. p> article>
CSS
html font-family: helvetica, arial, sans-serif; > h1 font-size: 3rem; letter-spacing: 2px; column-span: all; > h2 font-size: 1.2rem; color: red; letter-spacing: 1px; > p line-height: 1.5; break-after: column; > article column-width: 200px; gap: 20px; >
CSS page-break-after Property
The page-break-after property adds a page-break after a specified element.
Tip: The properties: page-break-before, page-break-after and page-break-inside help to define how a document should behave when printed.
Note: You cannot use this property on an empty or on absolutely positioned elements.
Default value: | auto |
---|---|
Inherited: | no |
Animatable: | no. Read about animatable |
Version: | CSS2 |
JavaScript syntax: | object.style.pageBreakAfter=»always» |
Browser Support
The numbers in the table specify the first browser version that fully supports the property.
Note: None of the browsers support «avoid».
Note: Browsers may interpret «left» and «right» as «always».
CSS Syntax
Property Values
Value | Description |
---|---|
auto | Default. Automatic page-break |
always | Always insert a page-break after the element |
avoid | Avoid a page-break after the element (if possible) |
left | Insert page-break after the element so that the next page is formatted as a left page |
right | Insert page-break after the element so that the next page is formatted as a right page |
initial | Sets this property to its default value. Read about initial |
inherit | Inherits this property from its parent element. Read about inherit |
page-break-after¶
Это свойство было заменено свойством break-after .
Свойство page-break-after добавляет разрыв страницы при печати документа после заданного элемента.
Демо¶
Синтаксис¶
1 2 3 4 5 6 7 8 9 10 11 12 13
/* Keyword values */ page-break-after: auto; page-break-after: always; page-break-after: avoid; page-break-after: left; page-break-after: right; page-break-after: recto; page-break-after: verso; /* Global values */ page-break-after: inherit; page-break-after: initial; page-break-after: unset;
Значения¶
always Всегда добавляет разрыв страницы после элемента. auto Вставляет разрыв страницы при необходимости. avoid Запрещает разрыв страницы после элемента. left Пропускает одну или две страницы после элемента, чтобы следующая страница при печати была четной. right Пропускает одну или две страницы после элемента, чтобы следующая страница при печати была нечетной.
Значение по-умолчанию: auto
Применяется к блочным элементам
Спецификации¶
Поддержка браузерами¶
Описание и примеры¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
html> head> meta charset="utf-8" /> title>page-break-aftertitle> style> @media print .more page-break-after: always; > > style> head> body> h2>Мусорные пакетыh2> p> История о том, как однажды мусорных пакетов оказалось несколько больше, чем хотелось, как и для чего их можно использовать, и что из этого получилось. p> p class="more">Читать дальшеp> body> html>