Vlastnosť mask-composite

Vlastnosť mask-composite umožňuje kombinovať viacero masiek aplikovaných na jeden prvok. Definuje, ako budú rôzne masky navzájom interagovať pri ich prekrytí.

Syntax

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

Hodnoty

Hodnota Popis
add Výsledok je zjednotenie všetkých masiek (predvolené).
subtract Druhá maska je odpočítaná od prvej.
intersect Zobrazí sa iba oblasť prieniku masiek.
exclude Zobrazia sa oblasti, ktoré nie sú spoločné pre masky.

Príklad . Režim add

Zjednotenie dvoch masiek (srdiečko a šípka):

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

Результат:

Príklad . Režim subtract

Odčítanie šípky od srdieč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;
}

Результат:

Príklad . Režim intersect

Zobrazenie iba oblasti prieniku masiek:

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

Результат:

Príklad . Režim exclude

Zobrazenie oblastí, ktoré nie sú spoloč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;
}

Результат:

Príklad . Kombinácia s gradientmi

Použitie 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;
}

Результат:

Pozri tiež

  • vlastnosť mask-image,
    nastavuje obrázky pre masky
  • vlastnosť mask,
    skratka pre všetky vlastnosti maskovania
  • vlastnosť mask-mode,
    definuje režim prekrytia masky
  • vlastnosť mix-blend-mode,
    definuje režim prekrytia prvkov