Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавляет статью про break-after и page-break-after #5622

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

furtivite
Copy link
Member

@furtivite furtivite commented Jan 2, 2025

Описание

Добавил статью по двум свойствам. Лучше сливать после #5620, в @page надо добавить ссылку сюда.

Превью: https://content-5622.dev.doka.guide/css/break-after/

Closes #663
Closes #654

Чек-лист

  • Текст оформлен согласно руководству по стилю
  • Ссылки на внутренние материалы начинаются со слеша и заканчиваются слэшем либо якорем на заголовок (/css/color/, /tools/json/, /tools/gulp/#kak-ponyat)
  • Ссылки на картинки, видео и демки относительные (images/example.png, demos/example/, ../demos/example/)

@furtivite furtivite self-assigned this Jan 2, 2025
@github-actions github-actions bot added css Контент по CSS дока Справочный материал labels Jan 2, 2025
@solarrust solarrust changed the title Добавляет статью про break-after и page-break-after Добавляет статью про break-after и page-break-after Jan 7, 2025
Copy link
Member

@solarrust solarrust left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Классно!
Только не очень понятно место свойства page-break-after. Только к концу доки поняла, что это устаревший вариант основного свойства.

- css/media
- css/lang
keywords:
- page-break-after
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может быть найдутся ещё какие-то ключевые слова, по которым эту статью можно будет найти?


## Кратко

Когда вам нужно управлять разбиением контента по страницам на печати, стоит воспользоваться свойством `break-after`. Свойство не является обязательным, поэтому, если управлять контентом не требуется, его можно не писать.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А про второе свойство ничего не скажем в этом блоке?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь достаточно сложно что-то сказать, потому что page-break-after делает то же самое.

Я бы переформулировал так. Если ок, то прими, плз.

Suggested change
Когда вам нужно управлять разбиением контента по страницам на печати, стоит воспользоваться свойством `break-after`. Свойство не является обязательным, поэтому, если управлять контентом не требуется, его можно не писать.
Когда вам нужно управлять разбиением контента по страницам на печати, стоит воспользоваться свойствами `break-after` и `page-break-after`. Свойство не является обязательным, поэтому, если управлять контентом не требуется, его можно не писать. Однако, если вы его пишете, используйте оба свойства для улучшения поддержки.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Да, было бы неплохо сказать об обоих в самом начале. Может лучше так? Мы ведь в самом начале говорим «Когда вам нужно управлять», так что вторую часть можно опустить, а в конце чуть упростить.

Suggested change
Когда вам нужно управлять разбиением контента по страницам на печати, стоит воспользоваться свойством `break-after`. Свойство не является обязательным, поэтому, если управлять контентом не требуется, его можно не писать.
Когда вам нужно управлять разбиением контента по страницам на печати, воспользуйтесь свойствами `break-after` и `page-break-after`. Пишите их вместе для улучшения поддержки.

Comment on lines +48 to +61
- `auto` — стандартное значение, разрыв по страницам будет происходить автоматически
- `avoid` — позволит избежать разрыва страницы, весь контент блока с этим свойством будет на одной странице
- `always` — разобьёт текстовый контент по страницам. Но если контент находится в разных колонках, то разрыв будет происходить по тексту, а не по колонке
- `all` — контент разобьётся по страницам, независимо от контента
- `avoid-page` — после вашего блока не будет разрыва страницы
- `page` — после вашего поля будет разрыв на страницы
- `left` — если следующая страница будет *левой* или на обратной стороне при двусторонней печати, то разрыв состоится
- `right` — если следующая страница будет *правой* или на лицевой стороне при двусторонней печати, то разрыв состоится
- `recto` — сделает следующую страницу *правой* (если на языке страницы пишут слева направо, если справа налево — *левой*), для этого между элементами будет вставлено один или два разрыва
- `verso` — сделает следующую страницу *левой* (если на языке страницы пишут слева направо, если справа налево — *правой*), для этого между элементами будет вставлено один или два разрыва
- `avoid-column` — следующая колонка (например, для таблиц) не будет перенесена на следующую страницу
- `column` — следующая колонка (например, для таблиц) будет перенесена на следующую страницу
- `avoid-region` — после основного поля не будет разрыва страницы
- `region` — после основного поля будет обязательный разрыва страницы
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `auto` — стандартное значение, разрыв по страницам будет происходить автоматически
- `avoid` — позволит избежать разрыва страницы, весь контент блока с этим свойством будет на одной странице
- `always` разобьёт текстовый контент по страницам. Но если контент находится в разных колонках, то разрыв будет происходить по тексту, а не по колонке
- `all` контент разобьётся по страницам, независимо от контента
- `avoid-page` после вашего блока не будет разрыва страницы
- `page` после вашего поля будет разрыв на страницы
- `left` если следующая страница будет *левой* или на обратной стороне при двусторонней печати, то разрыв состоится
- `right` если следующая страница будет *правой* или на лицевой стороне при двусторонней печати, то разрыв состоится
- `recto` сделает следующую страницу *правой* (если на языке страницы пишут слева направо, если справа налево *левой*), для этого между элементами будет вставлено один или два разрыва
- `verso` сделает следующую страницу *левой* (если на языке страницы пишут слева направо, если справа налево *правой*), для этого между элементами будет вставлено один или два разрыва
- `avoid-column` следующая колонка (например, для таблиц) не будет перенесена на следующую страницу
- `column` следующая колонка (например, для таблиц) будет перенесена на следующую страницу
- `avoid-region` после основного поля не будет разрыва страницы
- `region` после основного поля будет обязательный разрыва страницы
- `auto` значение по умолчанию, разрыв по страницам будет происходить автоматически.
- `avoid` – отменяет разрыва страницы, весь контент блока с этим значением будет на одной странице.
- `always` разобьёт текстовый контент по страницам. Но если контент находится в разных колонках, то разрыв будет происходить по тексту, а не по колонке.
- `all` контент разобьётся по страницам, независимо от контента.
- `avoid-page` после блока не будет разрыва страницы.
- `page` после поля будет разрыв страницы.
- `left` если следующая страница будет оборотной при двусторонней печати, то будет задан разрыв страницы.
- `right` если следующая страница будет лицевой при двусторонней печати, то будет задан разрыв страницы.
- `recto` сделает следующую страницу лицевой (если на языке страницы пишут слева направо, если справа налево – оборотной), для этого между элементами будет вставлено один или два разрыва.
- `verso` сделает следующую страницу оборотной (если на языке страницы пишут слева направо, если справа налево – лицевой), для этого между элементами будет вставлено один или два разрыва.
- `avoid-column` следующая колонка (например, для таблиц) не будет перенесена на следующую страницу.
- `column` следующая колонка (например, для таблиц) будет перенесена на следующую страницу.
- `avoid-region` после основного поля не будет разрыва страницы.
- `region` после основного поля будет обязательный разрыва страницы.

Расставила точки в конце пунктов. Чуть подправила формулировки. Поменяла левые и правые страницы на лицевые и оборотные. Пожалуйста, проверь, что это не меняет смысл высказываний.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я не очень уверен, что стоит заменять на лицевые и оборотные.

Если язык LTR (как русский), то лицевой является правая (насколько я понял), а оборотной - левая (если держать книгу закрытой, то титульная обложка перед нами, а корешок слева). Если язык RTL (как арабский), то лицевой является правая, а оборотной левая (если держать книгу закрытой, то титульная обложка перед нами, а корешок справа). То есть взгляд на лицо книги другой, для примера возьми в книжком мангу, там традиционно RTL.

С остальными правками я согласен, а вот "левые" и "правые" страницы я бы оставил, потому что это понятнее всего. Одна страница слева, другая справа.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В списке так и не поставили дефисы и точки, поэтому они подняли бунт и пришли ко мне. Кстати, может такой большой список делать через таблицу для читаемости?


## Устаревшие свойства

Свойство `page-break-after` является устаревшим и было заменено на `break-after`. Для улучшения поддержки, используйте оба свойства, они почти всегда совпадают. Исключение в примере.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нужно чуть больше пояснить пример кода

Copy link

github-actions bot commented Jan 7, 2025

Превью контента из 8c0c2ee опубликовано.

Copy link
Member

@Inventoris Inventoris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Классно, предлагаю несколько улучшений.


## Кратко

Когда вам нужно управлять разбиением контента по страницам на печати, стоит воспользоваться свойством `break-after`. Свойство не является обязательным, поэтому, если управлять контентом не требуется, его можно не писать.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Да, было бы неплохо сказать об обоих в самом начале. Может лучше так? Мы ведь в самом начале говорим «Когда вам нужно управлять», так что вторую часть можно опустить, а в конце чуть упростить.

Suggested change
Когда вам нужно управлять разбиением контента по страницам на печати, стоит воспользоваться свойством `break-after`. Свойство не является обязательным, поэтому, если управлять контентом не требуется, его можно не писать.
Когда вам нужно управлять разбиением контента по страницам на печати, воспользуйтесь свойствами `break-after` и `page-break-after`. Пишите их вместе для улучшения поддержки.

Comment on lines +48 to +61
- `auto` — стандартное значение, разрыв по страницам будет происходить автоматически
- `avoid` — позволит избежать разрыва страницы, весь контент блока с этим свойством будет на одной странице
- `always` — разобьёт текстовый контент по страницам. Но если контент находится в разных колонках, то разрыв будет происходить по тексту, а не по колонке
- `all` — контент разобьётся по страницам, независимо от контента
- `avoid-page` — после вашего блока не будет разрыва страницы
- `page` — после вашего поля будет разрыв на страницы
- `left` — если следующая страница будет *левой* или на обратной стороне при двусторонней печати, то разрыв состоится
- `right` — если следующая страница будет *правой* или на лицевой стороне при двусторонней печати, то разрыв состоится
- `recto` — сделает следующую страницу *правой* (если на языке страницы пишут слева направо, если справа налево — *левой*), для этого между элементами будет вставлено один или два разрыва
- `verso` — сделает следующую страницу *левой* (если на языке страницы пишут слева направо, если справа налево — *правой*), для этого между элементами будет вставлено один или два разрыва
- `avoid-column` — следующая колонка (например, для таблиц) не будет перенесена на следующую страницу
- `column` — следующая колонка (например, для таблиц) будет перенесена на следующую страницу
- `avoid-region` — после основного поля не будет разрыва страницы
- `region` — после основного поля будет обязательный разрыва страницы
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В списке так и не поставили дефисы и точки, поэтому они подняли бунт и пришли ко мне. Кстати, может такой большой список делать через таблицу для читаемости?


## Устаревшие свойства

Свойство `page-break-after` является устаревшим и было заменено на `break-after`. Для улучшения поддержки, используйте оба свойства, они почти всегда совпадают. Исключение в примере.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай уберем лишнее?

Suggested change
Свойство `page-break-after` является устаревшим и было заменено на `break-after`. Для улучшения поддержки, используйте оба свойства, они почти всегда совпадают. Исключение в примере.
Свойство `page-break-after` устарело и его заменили на `break-after`. Для улучшения поддержки используйте их вместе, они почти всегда совпадают. Исключение в примере.


## Как понять

Чаще всего не требуется принудительно разбивать контент по страницам, чтобы не считать [верхние](/css/orphans/) и [нижние висячие строки](/css/widows/). В этом случае, можно указать «мягкие» переносы контента на следующую страницу при помощи значения `page`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Чаще всего не требуется принудительно разбивать контент по страницам, чтобы не считать [верхние](/css/orphans/) и [нижние висячие строки](/css/widows/). В этом случае, можно указать «мягкие» переносы контента на следующую страницу при помощи значения `page`.
Чаще всего не требуется принудительно разбивать контент по страницам, чтобы не считать [верхние](/css/orphans/) и [нижние висячие строки](/css/widows/). В этом случае можно указать «мягкие» переносы контента на следующую страницу при помощи значения `page`.


При помощи свойств `break-after` и `page-break-after` со значением `avoid-column` удобно работать с таблицами, чтобы на печати одна из колонок не оказалась не на той странице.

Так же, если дизайнер хочет превратить распечатанный сайт в книгу с разворотами, можно управлять контентом и таким образом. Убедитесь, что страница или контентный блок имеет правильное значение атрибута [lang](/html/global-attrs/#lang).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я чуть запутался тут, каким «таким образом»? 🤔

Suggested change
Так же, если дизайнер хочет превратить распечатанный сайт в книгу с разворотами, можно управлять контентом и таким образом. Убедитесь, что страница или контентный блок имеет правильное значение атрибута [lang](/html/global-attrs/#lang).
Также, если дизайнер хочет превратить распечатанный сайт в книгу с разворотами, можно управлять контентом и таким образом. Убедитесь, что страница или контентный блок имеет правильное значение атрибута [lang](/html/global-attrs/#lang).

function makeUnDecorated() {
allConfigBtns.forEach(item => {
item.classList.remove('active')
});
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
});
})

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
css Контент по CSS дока Справочный материал
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Свойство break-after Свойство page-break-after
3 participants