Свойство CSS `mask-border-slice`
Базовая поддержка Ограниченная доступность
Эта функция не относится к базовым, поскольку не работает в некоторых наиболее широко используемых браузерах.
Свойство mask-border-slice CSS делит набор изображений, заданный свойством mask-border-source, на области. Эти области используются для формирования компонентов маскирующей границы элемента.
Синтаксис
/* All sides */ mask-border-slice: 30%; /* top and bottom | left and right */ mask-border-slice: 10% 30%; /* top | left and right | bottom */ mask-border-slice: 30 30% 45; /* top | right | bottom | left */ mask-border-slice: 7 12 14 5; /* Using the `fill` keyword */ mask-border-slice: 10% fill 7 12; /* Global values */ mask-border-slice: inherit; mask-border-slice: initial; mask-border-slice: revert; mask-border-slice: revert-layer; mask-border-slice: unset;
Для свойства mask-border-slice можно указать от одного до четырёх значений <number-percentage>, задающих положение каждого среза изображения. Отрицательные значения недопустимы; значения, превышающие соответствующий размер, ограничиваются значением 100%.
- Если указано одно положение, оно создаёт все четыре среза на одинаковом расстоянии от соответствующих сторон.
- Если указаны два положения, первое значение создаёт срезы, отсчитываемые от верхней и нижней сторон, а второе — срезы, отсчитываемые от левой и правой сторон.
- Если указаны три положения, первое значение создаёт срез, отсчитываемый от верхней стороны, второе — срезы, отсчитываемые от левой и правой сторон, а третье — срез, отсчитываемый от нижней стороны.
- Если указаны четыре положения, они задают срезы, отсчитываемые от верхней, правой, нижней и левой сторон именно в таком порядке (по часовой стрелке).
Необязательное значение fill, если оно используется, можно указать в любом месте объявления.
Значения
-
<number> - Задаёт смещение края в пикселях для растровых изображений и в координатах для векторных изображений. Для векторных изображений число отсчитывается относительно размера элемента, а не исходного изображения, поэтому в таких случаях обычно предпочтительнее использовать проценты.
-
<percentage> - Задаёт смещение края в процентах от размера исходного изображения: ширины изображения для горизонтальных смещений и высоты — для вертикальных.
-
fill - Сохраняет центральную область изображения. Её ширина и высота подбираются соответственно по размеру верхней и левой областей изображения.
Описание
В результате нарезки создаётся девять областей: четыре угловые, четыре краевые и одна центральная. Размер областей задают четыре линии среза, расположенные на заданном расстоянии от соответствующих сторон.

На схеме выше показано расположение каждой области.
- Области 1–4 — угловые. Каждая используется один раз для формирования углов итогового изображения границы.
- Области 5–8 — краевые. В итоговом изображении границы они повторяются, масштабируются или иным образом изменяются, чтобы соответствовать размерам элемента.
- Область 9 — центральная. По умолчанию она отбрасывается, но используется как фоновое изображение, если задано ключевое слово
fill.
Свойства mask-border-repeat, mask-border-width и mask-border-outset определяют, как эти области используются для формирования итоговой маскирующей границы.
Формальное определение
| Начальное значение | 0 |
|---|---|
| Применяется к | всем элементам; в SVG применяется к контейнерным элементам, за исключением элемента <defs>, и ко всем графическим элементам |
| Наследуется | нет |
| Проценты | относительно размера изображения маскирующей границы |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
mask-border-slice = <number-percentage>{1,4} fill? <number-percentage> = <number> | <percentage>
Примеры
Основное использование
Свойство mask-border-slice задаёт размер срезов, получаемых из исходного изображения, и используется для создания маски границы.
mask-border-slice: 30 fill;
Браузеры на основе Chromium поддерживают устаревшую версию этого свойства — mask-box-image-slice — с префиксом:
-webkit-mask-box-image-slice: 30 fill;
Примечание: На странице mask-border приведён рабочий пример (с использованием устаревших свойств маски границы с префиксом, поддерживаемых в Chromium), который поможет понять эффект.
Примечание: Если вы хотите, чтобы содержимое элемента было видно, необходимо включить ключевое слово fill.
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
mask-border-slice |
1 |
79 |
Нет |
15 |
17.2
3.1
|
18 |
Нет |
14 |
17.2
2
|
1.0 |
4.4 |
17.2
2
|
См. также
mask-bordermask-border-modemask-border-outsetmask-border-repeatmask-border-sourcemask-border-width- Иллюстрированное описание синтаксиса с 1–4 значениями
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/mask-border-slice