Vlastnost mask-composite

Vlastnost mask-composite umožňuje kombinovat více masek aplikovaných na jeden prvek. Určuje, jak budou různé masky vzájemně interagovat při jejich překrytí.

Syntaxe

cssselektor {
  mask-composite: <compositing-operator>#;
}

Hodnoty

Hodnota Popis
add Výsledek je sjednocení všech masek (výchozí).
subtract Druhá maska je odečtena od první.
intersect Zobrazí se pouze oblast průniku masek.
exclude Zobrazí se oblasti, které nejsou společné pro masky.

Příklad . Režim add

Sjednocení dvou masek (srdíčko a šipka):

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;
}

Результат:

Příklad . Režim subtract

Odečtení šipky ze srdíčka:

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;
}

Результат:

Příklad . Režim intersect

Zobrazení pouze oblasti průniku masek:

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;
}

Результат:

Příklad . Režim exclude

Zobrazení oblastí, které nejsou společné:

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;
}

Результат:

Příklad . Kombinace s gradienty

Použití s gradientními maskami:

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;
}

Результат:

Viz také

  • vlastnost mask-image,
    nastavuje obrázky pro masky
  • vlastnost mask,
    zkrácený zápis pro všechny vlastnosti maskování
  • vlastnost mask-mode,
    určuje režim prolínání masky
  • vlastnost mix-blend-mode,
    určuje režim prolínání prvků