Својство mask-composite

Својството mask-composite овозможува комбинирање на повеќе маски применети на еден елемент. Тоа одредува како ќе комуницираат различните маски меѓу себе при нивното преклопување.

Синтакса

cssселектор {
  mask-composite: <compositing-operator>#;
}

Вредности

Вредност Опис
add Резултатот е унија на сите маски (по дифолт).
subtract Втората маска се одзема од првата.
intersect Се прикажува само областа на пресек на маските.
exclude Се прикажуваат областите кои не се заеднички за маските.

Пример . Режим add

Унија на две маски (срце и стрелка):

html<img id="image" src="image.jpg">
css#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

Одземање на стрелката од срцето:

html<img id="image" src="image.jpg">
css#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

Приказ само на областа на пресек на маските:

html<img id="image" src="image.jpg">
css#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

Приказ на области кои не се заеднички:

html<img id="image" src="image.jpg">
css#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;
}

Результат:

Пример . Комбинација со градиенти

Користење со градиентни маски:

html<div id="gradient-box"></div>
css#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,
    го одредува режимот на преклопување на елементите