Свойство background-clip
Свойство background-clip определяет как
фоновая заливка или фоновая картинка будет
размещаться относительно элемента: под границей,
только внутри padding или только над содержимым.
Особенности
- При использовании
border-boxс прозрачными границами фон будет виден под ними - Значение
textтребует вендорных префиксов для полной поддержки - Свойство работает с градиентами и множественными фонами
- При
border-radiusфон обрезается по скруглённым углам
Поддержка браузерами
Все современные браузеры поддерживают border-box, padding-box и content-box.
Значение text требует префикса -webkit- и поддерживается в Chrome, Safari, Edge.
Синтаксис
селектор {
background-clip: border-box | padding-box | content-box | text;
}
Значения
| Значение | Описание |
|---|---|
border-box |
Фон распространяется до внешнего края границы (под границу). |
padding-box |
Фон обрезается по внутреннему краю границы (не заходит под border). |
content-box |
Фон отображается только над содержимым (обрезается padding). |
text |
Фон обрезается по тексту. |
Значение по умолчанию: border-box.
Пример . Значение border-box
Фон заходит под полупрозрачную границу:
<div id="elem"></div>
#elem {
background-clip: border-box;
background-color: #ffd6d6;
background-repeat: no-repeat;
border: 10px dashed rgba(0,0,0,0.3);
padding: 30px;
width: 250px;
height: 150px;
}
:
Пример .Значение padding-box
Фон не заходит под границу:
<div id="elem"></div>
#elem {
background-clip: padding-box;
background-color: #ffd6d6;
background-repeat: no-repeat;
border: 10px dashed rgba(0,0,0,0.5);
padding: 30px;
width: 250px;
height: 150px;
}
:
Пример . Значение content-box
Фон не заходит на padding:
<div id="elem">
text text text text text
text text text text text
text text text text text
</div>
#elem {
background-clip: content-box;
background-color: #ffd6d6;
background-repeat: no-repeat;
border: 10px dashed rgba(0,0,0,0.3);
padding: 30px;
width: 250px;
height: 150px;
}
:
Пример . Значение text
Фон обрезается по тексту (требуется -webkit-text-fill-color
в значении transparent):
<div id="elem">text text text</div>
#elem {
display: inline-block;
background: linear-gradient(to right, red, blue);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-size: 40px;
font-weight: bold;
}
:
Смотрите также
-
свойство
background,
представляющее собой свойство-сокращение для фона -
свойство
background-origin,
определяющее исходную позицию фона