Egenskapen mask-composite

Egenskapen mask-composite tillater å kombinere flere masker som brukes på ett element. Den definerer hvordan forskjellige masker vil samhandle med hverandre når de overlappes.

Syntaks

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

Verdier

Verdi Beskrivelse
add Resultatet er unionen av alle masker (standard).
subtract Den andre masken trekkes fra den første.
intersect Kun området der maskene overlapper vises.
exclude Områder som ikke er felles for maskene vises.

Eksempel . Modus add

Union av to masker (hjerte og pil):

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

Результат:

Eksempel . Modus subtract

Subtraksjon av pil fra hjerte:

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

Результат:

Eksempel . Modus intersect

Viser kun overlappingsområdet mellom maskene:

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

Результат:

Eksempel . Modus exclude

Viser områder som ikke er felles:

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

Результат:

Eksempel . Kombinasjon med gradienter

Bruk med gradientmasker:

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

Результат:

Se også

  • egenskapen mask-image,
    angir bilder for masker
  • egenskapen mask,
    forkortelse for alle maskeringsegenskaper
  • egenskapen mask-mode,
    definerer blandingmodus for maske
  • egenskapen mix-blend-mode,
    definerer blandingmodus for elementer