css властивість break-before
Властивість break-before визначає, як розбиття сторінок або стовпців повинно вести себе перед показом контейнера. Якщо контейнер не сформовано, властивість ігнорується.
Більш конкретно, властивість дозволяє визначити, чи має місце перерва перед сформованим контейнером, і який тип розбивки (лінії) має бути.
Кожна можлива точка перерви (інакше кажучи, межа кожного елемента) залежить від трьох властивостей: значення break-after, значення break-before та значення break-inside.
Щоб визначити, чи необхідно зробити перерву між колонками, застосовуються наступні правила:
- Якщо будь-яке з трьох потрібних значень є примусовим значенням переривання (
always, left, right, page, column, абоregion), воно має перевагу. Якщо більше ніж одне значень робить перерву, то береться один елемент, який являється останнім у потоці (тобто, значення break-before має перевагу над значеннямbreak-after, яке самостійно має перевагу надbreak-inside) - Якщо будь-яке з трьох потрібних значень уникає перерви (
avoid, avoid-page, avoid-region, avoid-column), перерва не буде застосована в потрібному місці.
- Порада
-
Також зауважте, що на момент написання більшість браузерів підтримують властивість у специфікації CSS 2.1, але не останню специфікацію
автор: Svitlana - Нотатка
-
Браузери WebKit і Blink не підтримують цю властивість, але деякі з них мають нестандартні властивості
автор: Svitlana-webkit-column-break-beforeі-webkit-region-break-withз аналогічними параметрами, якbreak-before.
Синтаксис
break-before: auto | avoid | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region;
Властивість break-before може отримувати 12 значень:
-
auto -
Нi вказує, ні забороняє переривання сторінки або стовпця.
автор: Svitlana -
avoid -
Уникання переривання сторінки після основного контейнера.
автор: Svitlana -
avoid-page -
Уникання переривання сторінки після основного контейнера.
автор: Svitlana -
page -
Завжди примусове переривання сторінки після основного контейнера.
автор: Svitlana -
left -
Змушує одне або два розбиття сторінки після основного контейнера, щоб наступна сторінка була відформатована як ліва.
автор: Svitlana -
right -
Змушує одне або два розбиття сторінки після основного контейнера, щоб наступна сторінка була відформатована як права.
автор: Svitlana -
recto -
Змушує одне або два розбиття сторінки після основного контейнера, щоб наступна сторінка була відформатована або як ліва сторінка, або права сторінка, залежно від того, яка сторінка є другою.
автор: Svitlana -
verso -
Змушує одне або два розбиття сторінки після основного контейнера, щоб наступна сторінка була відформатована або як ліва сторінка, або права сторінка, залежно від того, яка сторінка є першою.
автор: Svitlana -
avoid-column -
Уникання переривання колонки після основного контейнера.
автор: Svitlana -
column -
Завжди примусове переривання колонки після основного контейнера.
автор: Svitlana -
avoid-region -
Уникання переривання області після основного контейнера.
автор: Svitlana -
region -
Завжди примусове переривання області після основного контейнера.
автор: Svitlana
| Значення без задання: | auto |
|---|---|
| Наслідує: | Ні |
| Анімується: | Так |
| JavaScript синтаксис: | object.style.pageBreakBefore = ''; |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| Basic support | 50.0 | 65.0 | Не підтримується | 37.0 | 12.0 | 10.0 |
| column | Full support | Не підтримується | Full support | Full support | 12.0 | 10.0 |
| avoid-column | Не підтримується | Не підтримується | Не підтримується | Не підтримується | 12.0 | 10.0 |
| always | Не підтримується | Не підтримується | Не підтримується | Не підтримується | Не підтримується | Не підтримується |
| Переглядач | |||
|---|---|---|---|
| Basic support | 50.0 | 65.0 | Не підтримується |
| column | Full support | Не підтримується | Не підтримується |
| avoid-column | Не підтримується | Не підтримується | Full support |
| always | Не підтримується | Не підтримується | Не підтримується |
Приклади
+ запропонувати свій приклад у пісочниці
Заголовку задано break-before: column — він завжди відкриває нову колонку, а не висне внизу попередньої.
HTML
<div class="cols">
<p>Багатоколонкова верстка ділить текст автоматично: браузер сам вирішує, де перервати рядок і почати нову колонку. Що довший текст, то краще видно поділ — тому цей абзац навмисно багатослівний і ще й трохи повторюється, щоб колонкам було чим заповнитися.</p>
<h3 class="new">Розділ</h3>
<p>Текст після заголовка, який почав нову колонку.</p>
</div>
CSS
.cols {
columns: 2;
column-rule: 1px solid #ccc;
}
.new {
break-before: column;
}
Значення у дії
Приклад використання
Коментарі
Коментарів ще немає — будьте першим!