CSS-свойство `background-clip`
Baseline Широко доступно
Эта функция хорошо зарекомендовала себя и работает на множестве устройств и в разных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Свойство background-clip CSS задаёт, распространяется ли фон элемента под его рамку, внутренний отступ или содержимое.
Попробуйте
background-clip: border-box;
background-clip: padding-box;
background-clip: content-box;
background-clip: text; color: transparent; text-shadow: none;
<section id="default-example"> <div id="example-element">This is the content of the element.</div> </section>
#example-element {
background-image: url("/shared-assets/images/examples/leopard.jpg");
color: white;
text-shadow: 2px 2px black;
padding: 20px;
border: 10px dashed #333333;
font-size: 2em;
font-weight: bold;
}
Синтаксис
/* Keyword values */ background-clip: border-box; background-clip: padding-box; background-clip: content-box; background-clip: text; background-clip: border-area; /* Global values */ background-clip: inherit; background-clip: initial; background-clip: revert; background-clip: revert-layer; background-clip: unset;
Значения
-
border-box - Фон распространяется до внешнего края рамки (но под рамкой в порядке наложения).
-
padding-box - Фон распространяется до внешнего края внутреннего отступа. Под рамкой фон не отрисовывается.
-
content-box - Фон отрисовывается внутри области содержимого (обрезается по её границам).
-
text - Фон отрисовывается внутри текста переднего плана (обрезается по его границам).
-
border-area - Фон отрисовывается внутри области, занимаемой рамкой (обрезается по её границам), с учётом
border-widthиborder-style, но без учёта прозрачности, заданной свойствомborder-color.
Описание
Фон всегда отрисовывается за рамкой, поэтому background-clip: border-box влияет на отображение только в том случае, если рамка частично непрозрачна или содержит прозрачные либо частично непрозрачные области. Кроме того, свойство background-clip: text практически не влияет на отображение, если текст полностью или частично непрозрачен.
Примечание: Поскольку область отрисовки фона у корневого элемента отличается, свойство background-clip не действует, если задано для него. См. «Фоны специальных элементов.»
Примечание: Для документов, у которых корневой элемент является элементом HTML: если вычисленное значение background-image корневого элемента равно none, а его background-color равно transparent, пользовательские агенты должны вместо этого перенести вычисленные значения свойств background с первого дочернего элемента HTML <body> этого элемента. Используемые значения свойств background этого элемента <body> являются начальными, а перенесённые значения рассматриваются так, будто они заданы для корневого элемента. Авторам HTML-документов рекомендуется задавать фон холста для элемента <body>, а не для элемента HTML.
Доступность
При использовании background-clip: text проверьте, достаточно ли велик коэффициент контрастности между цветом фона и цветом расположенного поверх него текста, чтобы люди с нарушениями зрения могли прочитать содержимое страницы.
Если фоновое изображение не загрузится, текст также может стать нечитаемым. Чтобы этого не произошло, задайте резервный цвет background-color и проверьте страницу без изображения.
Рассмотрите возможность использования запросов функций с @supports, чтобы проверить поддержку background-clip: text и предоставить доступную альтернативу в браузерах, где это свойство не поддерживается.
Формальное определение
| Начальное значение | border-box |
|---|---|
| Применяется к | всем элементам |
| Наследуется | нет |
| Вычисленное значение | как задано |
| Тип анимации | повторяемый список |
Формальный синтаксис
background-clip = <bg-clip># <bg-clip> = <visual-box> | border-area | text <visual-box> = content-box | padding-box | border-box
Примеры
HTML
<p class="border-box">The background extends behind the border.</p> <p class="padding-box"> The background extends to the inside edge of the border. </p> <p class="content-box"> The background extends only to the edge of the content box. </p> <p class="text">The background is clipped to the foreground text.</p> <p class="border-area"> The background is clipped to the area painted by the border. </p>
CSS
p {
border: 0.8em darkviolet;
border-style: dotted double;
margin: 1em 0;
padding: 1.4em;
background: linear-gradient(60deg, red, yellow, red, yellow, red);
font: 900 1.2em sans-serif;
text-decoration: underline;
}
.border-box {
background-clip: border-box;
}
.padding-box {
background-clip: padding-box;
}
.content-box {
background-clip: content-box;
}
.text {
background-clip: text;
color: rgb(0 0 0 / 20%);
}
.border-area {
background-clip: border-area;
border-color: transparent;
}
Результат
Спецификации
| Спецификация |
|---|
| Модуль фонов и рамок CSS, уровень 3 # background-clip |
| Модуль фонов CSS, уровень 4 # background-clip |
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
background-clip |
1
1Chrome принимает альтернативные синонимы для значений:padding, border и content. |
12
12Начиная с Edge 79, принимаются альтернативные синонимы для значений:padding, border и content. |
4
49
1–4Использовался синтаксис-moz-background-clip: padding | border. |
10.5
15Opera принимает альтернативные синонимы для значений:padding, border и content. |
5
3Safari принимает альтернативные синонимы для значений:padding, border и content. |
18
18Chrome для Android принимает альтернативные синонимы для значений:padding, border и content. |
4
49
|
11
14Opera принимает альтернативные синонимы для значений:padding, border и content. |
5
1Safari принимает альтернативные синонимы для значений:padding, border и content. |
1.0
1.0Браузер Samsung принимает альтернативные синонимы для значений:padding, border и content. |
4.4
4.4WebView для Android принимает альтернативные синонимы для значений:padding, border и content. |
5
1Safari принимает альтернативные синонимы для значений:padding, border и content. |
border-area |
150 |
150 |
Нет |
134 |
18.2 |
150 |
Нет |
101 |
18.2 |
Нет |
150 |
18.2 |
border-box |
1 |
12 |
4 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
content-box |
1 |
12 |
4 |
10.5 |
3 |
18 |
4 |
11 |
1 |
1.0 |
4.4 |
1 |
padding-box |
1 |
12 |
4 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
text |
120
3–120Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip; см. ошибку 40229927). |
120
79–120Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip; см. ошибку 40229927).15–79
12–15До Edge 15 это значение поддерживалось только в версии свойства с префиксом. |
49Не работает сbackground-attachment: fixed (ошибка 1313757), в многослойных фонах с другими значениями (ошибка 1481498) и в некоторых других особых случаях (см. ошибку 1656784). |
106
15–106Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip; см. ошибку 40229927). |
14
4–14Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip). |
120
18–120Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip; см. ошибку 40229927). |
49Не работает сbackground-attachment: fixed (ошибка 1313757), в многослойных фонах с другими значениями (ошибка 1481498) и в некоторых других особых случаях (см. ошибку 1656784). |
80
14–80Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip; см. ошибку 40229927). |
14
3.2–14Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip). |
25.0
1.0–25.0Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip; см. ошибку 40229927). |
120
4.4–120Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip; см. ошибку 40229927). |
14
3.2–14Значениеtext поддерживается только в -webkit-background-clip (но не в background-clip). |
См. также
- Свойство
clip-pathсоздаёт область отсечения, которая определяет, какая часть всего элемента должна отображаться. - Свойства фона:
background,background-color,background-image,background-origin - Введение в блочную модель CSS
© 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/background-clip