Svojstvo mask-composite

Svojstvo mask-composite omogućava kombinovanje više maski koje se primenjuju na jedan element. Ono definiše kako će različite maske međusobno interagovati pri njihovom preklapanju.

Sintaksa

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

Vrednosti

Vrednost Opis
add Rezultat je unija svih maski (podrazumevano).
subtract Druga maska se oduzima od prve.
intersect Prikazuje se samo oblast preseka maski.
exclude Prikazuju se oblasti koje nisu zajedničke za maske.

Primer . Režim add

Unija dve maske (srce i strelica):

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

Результат:

Primer . Režim subtract

Oduzimanje strelice od srca:

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

Результат:

Primer . Režim intersect

Prikazivanje samo oblasti preseka maski:

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

Результат:

Primer . Režim exclude

Prikazivanje oblasti koje nisu zajedničke:

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

Результат:

Primer . Kombinacija sa gradientima

Upotreba sa gradijentnim maskama:

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

Результат:

Pogledajte takođe

  • svojstvo mask-image,
    zadaje slike za maske
  • svojstvo mask,
    skraćenica za sva svojstva maskiranja
  • svojstvo mask-mode,
    definiše režim preklapanja maske
  • svojstvo mix-blend-mode,
    definiše režim mešanja elemenata