Перейти к содержимому

Свойство CSS box-decoration-break

Свойство box-decoration-break в CSS определяет, как фон, отступы, граница, border-image, тень блока, внешний отступ и clip-path элемента применяются, когда блок разбивается на фрагменты.

Свойство box-decoration-break имеет два значения. Значение slice применяет декорации ко всему элементу так, как будто он не разбит на фрагменты, а затем разрезает блок по краям каждого фрагмента. Значение clone применяет каждую декорацию к каждому фрагменту независимо. Границы обрамляют четыре стороны каждого фрагмента, а фон полностью перерисовывается для каждого фрагмента. Обратите внимание, что разбивка может происходить не только из-за переносов строк, но и из-за разрывов страниц или колонок.

Начальное значениеslice
Применяется кБлочным элементам, flex-контейнерам и grid-контейнерам.
НаследуетсяНет.
ВерсияCSS3
Синтаксис DOMobject.style.boxDecorationBreak = "clone";

Синтаксис

Синтаксис свойства CSS box-decoration-break

css
box-decoration-break: slice | clone | initial | inherit | unset;

Ниже приведен пример со значением clone, где декорации применяются к каждому фрагменту так, как если бы они были отдельными элементами.

Пример свойства CSS box-decoration-break со значением clone

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      span {
        border: 3px solid #1c87c9;
        padding: 0em 1em;
        border-radius: 12px;
        font-size: 20px;
        line-height: 2;
      }
      span.box {
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
      }
    </style>
  </head>
  <body>
    <h2>Box-decoration-break example</h2>
    <p>Here the box-decoration-break is set to "clone".</p>
    <span class="box">Box<br />decoration<br />break<br />property<br />example.</span>
  </body>
</html>

Результат

CSS box-decoration-break Property

Современные браузеры поддерживают это свойство нативно без префиксов, однако префикс -webkit- включен в примеры для обратной совместимости со старыми версиями.

Рассмотрим еще один пример, где к блоку применяется значение slice. В этом случае блок разрезается на части.

Пример свойства CSS box-decoration-break со значением slice

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      span {
        border: 3px solid #8ebf42;
        padding: 0em 1em;
        border-radius: 12px;
        font-size: 20px;
        line-height: 2;
        background-color: #ccc;
      }
      span.box {
        -webkit-box-decoration-break: slice;
        box-decoration-break: slice;
      }
    </style>
  </head>
  <body>
    <h2>Box-decoration-break example</h2>
    <p>
      Here the box-decoration-break is set to "slice" which is the default value of this property.
    </p>
    <span class="box">Box<br />decoration<br />break<br />property<br />example.</span>
  </body>
</html>

Результат

CSS box-decoration-break Property with slice value

Теперь посмотрим, как тень блока применяется к разрезанному блоку.

Пример свойства CSS box-decoration-break со значением slice и тенью

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      span {
        border: 3px solid #8ebf42;
        padding: 0em 1em;
        border-radius: 12px;
        font-size: 20px;
        line-height: 2;
        background-color: #cccccc;
        box-shadow: 5px 4px 10px #666666;
        box-decoration-break: slice;
        -webkit-box-decoration-break: slice;
      }
    </style>
  </head>
  <body>
    <h2>Box-decoration-break example</h2>
    <p>
      Here the box-decoration-break is set to "slice" which is the default value of this property.
    </p>
    <span>Box<br />decoration<br />break<br />property<br />example.</span>
  </body>
</html>

Результат

CSS box-decoration-break Property with slice value and shadow

Значения

ЗначениеОписание
sliceДекорации блока применяются ко всему элементу и обрываются по краям фрагментов элемента.
cloneДекорации блока применяются к каждому фрагменту индивидуально.
initialУстанавливает свойству его значение по умолчанию.
inheritНаследует свойство от родительского элемента.

Практика

Что делает свойство CSS box-decoration-break?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.