Eigenschaft mask-composite

Die Eigenschaft mask-composite ermöglicht die Kombination mehrerer Masken, die auf ein Element angewendet werden. Sie legt fest, wie verschiedene Masken bei ihrer Überlagerung miteinander interagieren.

Syntax

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

Werte

Wert Beschreibung
add Das Ergebnis ist die Vereinigung aller Masken (Standard).
subtract Die zweite Maske wird von der ersten subtrahiert.
intersect Nur der Schnittbereich der Masken wird angezeigt.
exclude Die Bereiche, die nicht allen Masken gemeinsam sind, werden angezeigt.

Beispiel . Modus add

Vereinigung zweier Masken (Herz und Pfeil):

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

Результат:

Beispiel . Modus subtract

Subtraktion des Pfeils vom Herz:

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

Результат:

Beispiel . Modus intersect

Anzeige nur des Schnittbereichs der Masken:

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

Результат:

Beispiel . Modus exclude

Anzeige der Bereiche, die nicht gemeinsam sind:

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

Результат:

Beispiel . Kombination mit Gradienten

Verwendung mit Gradientenmasken:

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

Результат:

Siehe auch

  • Eigenschaft mask-image,
    legt die Bilder für Masken fest
  • Eigenschaft mask,
    Kurzform für alle Maskierungseigenschaften
  • Eigenschaft mask-mode,
    legt den Mischmodus der Maske fest
  • Eigenschaft mix-blend-mode,
    legt den Mischmodus von Elementen fest