Свойство mask-composite
Свойство mask-composite позволяет комбинировать несколько масок, применяемых к одному элементу. Оно определяет, как будут взаимодействовать между собой разные маски при их наложении.
Синтаксис
селектор {
mask-composite: <compositing-operator>#;
}
Значения
| Значение | Описание |
|---|---|
add |
Результат - объединение всех масок (по умолчанию). |
subtract |
Вторая маска вычитается из первой. |
intersect |
Отображается только область пересечения масок. |
exclude |
Отображаются области, не являющиеся общими для масок. |
Пример . Режим add
Объединение двух масок (сердечко и стрелка):
<img id="image" src="image.jpg">
#image {
width: 500px;
height: 281px;
mask-image:
url("heart.svg"),
url("arrow.svg");
mask-position:
100px 50px,
200px 30px;
mask-size: 150px;
mask-repeat: no-repeat;
mask-composite: add;
}
:
Пример . Режим subtract
Вычитание стрелки из сердечка:
<img id="image" src="image.jpg">
#image {
width: 500px;
height: 281px;
mask-image:
url("heart.svg"),
url("arrow.svg");
mask-position:
100px 50px,
170px 80px;
mask-size:
250px,
120px;
mask-repeat: no-repeat;
mask-composite: subtract;
}
:
Пример . Режим intersect
Отображение только области пересечения масок:
<img id="image" src="image.jpg">
#image {
width: 500px;
height: 281px;
mask-image:
url("heart.svg"),
url("arrow.svg");
mask-position:
100px 50px,
50px 30px;
mask-size: 150px;
mask-repeat: no-repeat;
mask-composite: intersect;
}
:
Пример . Режим exclude
Отображение областей, не являющихся общими:
<img id="image" src="image.jpg">
#image {
width: 500px;
height: 281px;
mask-image:
url("heart.svg"),
url("arrow.svg");
mask-position:
100px 50px,
50px 30px;
mask-size: 150px;
mask-repeat: no-repeat;
mask-composite: exclude;
}
:
Пример . Комбинация с градиентами
Использование с градиентными масками:
<div id="gradient-box"></div>
#gradient-box {
width: 400px;
height: 400px;
background: linear-gradient(45deg, red, yellow, green, blue);
mask-image:
radial-gradient(circle at 30% 30%, black 40%, transparent 70%),
radial-gradient(circle at 70% 70%, black 40%, transparent 70%);
mask-composite: exclude;
}
:
Смотрите также
-
свойство
mask-image,
задает изображения для масок -
свойство
mask,
сокращение для всех свойств маскирования -
свойство
mask-mode,
определяет режим наложения маски -
свойство
mix-blend-mode,
определяет режим наложения элементов