mask-mode
Baseline 2023Newly available
Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Die mask-mode
CSS Eigenschaft wird auf das Element gesetzt, das maskiert wird. Sie legt fest, ob die durch die mask-image
definierte Maskenreferenz als Luminanz- oder Alphamaske behandelt wird.
Syntax
/* Keyword values */
mask-mode: alpha;
mask-mode: luminance;
mask-mode: match-source;
/* Multiple values */
mask-mode: alpha, match-source;
/* Global values */
mask-mode: inherit;
mask-mode: initial;
mask-mode: revert;
mask-mode: revert-layer;
mask-mode: unset;
Werte
Die mask-mode
Eigenschaft kann mehrere, durch Kommas getrennte <masking-mode>
Schlüsselwortwerte annehmen, darunter:
alpha
-
Gibt an, dass die Alpha- (Transparenz-) Werte des Maskenbildes verwendet werden sollen.
luminance
-
Gibt an, dass die Luminanz (Helligkeit) Werte des Maskenbildes verwendet werden sollen.
match-source
-
Gibt an, dass der Maskentyp durch die Quelle bestimmt wird. Dies ist der Standardwert der Eigenschaft.
- Wenn die
mask-image
auf eine SVG<mask>
verweist, wird derenmask-type
Eigenschaftswert oder, falls vorhanden, dasmask-type
Attribut verwendet. Wenn keines explizit gesetzt ist, standardisiert dieser Wert aufluminance
. - Wenn die Maskenbildquelle ein
<image>
oder ein<gradient>
ist, werden diealpha
Werte des Maskenbildes verwendet.
- Wenn die
Beschreibung
Eine Maske überträgt ihre Transparenz und je nach Maskentyp ihre Luminanz auf das Element, das sie maskiert.
Ist die Maske vom Typ <image>
, bestimmen standardmäßig die Alpha-Werte des Maskenbildes die Sichtbarkeit jeder Teil des maskierten Elements: wo die Maske undurchsichtig ist, ist der entsprechende Teil des maskierten Elements sichtbar; wo die Maske durchscheinend ist, ist es das Element auch, wobei diese Bereiche des Elements verborgen sind. Dies ist das Standardverhalten für <image>
Masken, wenn die mask-mode
Eigenschaft auf match-source
gesetzt oder standardisiert ist, und es ist immer der Fall, wenn das mask-mode
explizit auf alpha
gesetzt ist.
Luminance verstehen
Bei luminance
Masken hängt die Sichtbarkeit des maskierten Elements sowohl von der Opazität der Maske als auch von der Helligkeit der Farbe der undurchsichtigen Bereiche ab. Weiße (100% Luminanz) undurchsichtige Bereiche (alpha = 1) werden maskiert und sichtbar, und schwarze Bereiche (0% Luminanz) transparent (alpha = 0) werden abgeschnitten. Bereiche mit Farben zwischen Weiß und Schwarz und mit teilweiser Opazität werden teilweise maskiert, reflektieren die Luminanz und Alpha-Transparenz jeder Farbe, die die Maske bildet.
Die Opazität einer luminance
Maske wird mit den R
, G
, B
und A
Werten einer rgb()
Farbe mit der Formel bestimmt:
((0.2125 * R) + (0.7154 * G) + (0.0721 * B)) * A
Zum Beispiel ist die Farbe green
#008000
oder rgb(0% 50% 0% / 1)
. In einer luminance
Maske wird jeder Bereich, der von einer festen green
Maske maskiert wird, 35,77%
undurchsichtig sein. Wenn der mask-mode
für diese Maske auf alpha
gesetzt ist, da green
eine vollständig undurchsichtige Farbe ist, wird der maskierte Bereich 100%
undurchsichtig sein.
Mehrere Werte
Jeder mask-mode
Wert ist eine durch Kommas getrennte Liste von Werten. Wenn mehrere Werte vorhanden sind, entspricht jeder Wert einer Maskenschicht in derselben Position in der mask-image
Eigenschaft. Die Werte definieren, ob die assoziierten Maskenbilder als luminance
oder alpha
Maske behandelt werden.
match-source
verstehen
Im Fall von match-source
hängt es davon ab, ob luminance
oder alpha
verwendet wird, von der Maskierungsart der Maskenquelle ab. Wenn die mask-image
Eigenschaftswerte eine Referenz auf ein SVG <mask>
Element ist, wird der <mask>
Element mask-type
Eigenschaftswert verwendet. Wenn keine CSS mask-type
Eigenschaft auf dem <mask>
Element gesetzt ist, wird der Wert des <mask>
Element mask-type
Attributs verwendet, falls vorhanden und unterstützt. Wenn keines explizit gesetzt ist, standardisiert dieser Wert auf luminance
; aber nur im Fall des <mask>
Elements als Maskenquelle. Andernfalls, wie zuvor erwähnt, wenn die Maskenbildquelle ein <image>
, anstatt eines SVG <mask>
ist, werden die alpha
Werte des Maskenschichtbildes verwendet.
Formale Definition
Anfangswert | match-source |
---|---|
Anwendbar auf | alle Elemente; In SVG gilt betrifft dies Containerelemente mit Ausnahme des <defs> Elements und allen Grafikelementen |
Vererbt | Nein |
Berechneter Wert | wie angegeben |
Animationstyp | diskret |
Formale Syntax
Beispiele
Verwendung und Werte
Dieses Beispiel zeigt die grundlegende Verwendung und verschiedene Werte der mask-mode
Eigenschaft.
HTML
Wir fügen drei <div>
Elemente ein, um die drei aufgelisteten mask-mode
Schlüsselwortwerte zu demonstrieren.
<div class="alpha">ALPHA</div>
<div class="luminance">LUMINANCE</div>
<div class="matchSource">MATCH-SOURCE</div>
CSS
Jedem <div>
wird derselbe Hintergrund und dasselbe Maskenbild zugewiesen. Der einzige Unterschied zwischen jedem <div>
ist der Wert der mask-mode
Eigenschaft:
div {
background: blue linear-gradient(red, blue);
mask-image: url(https://mdn.github.io/shared-assets/images/examples/mdn.svg);
}
.alpha {
mask-mode: alpha;
}
.luminance {
mask-mode: luminance;
}
.matchSource {
mask-mode: match-source;
}
Ergebnisse
Da die Maskenquelle ein <image>
und kein SVG <mask>
ist, löst sich der match-source
Wert zu alpha
auf.
Spezifikationen
Specification |
---|
CSS Masking Module Level 1 # the-mask-mode |
Browser-Kompatibilität
Siehe auch
mask-type
mask-image
mask
Kürzung- Einführung in CSS Maskierung
- CSS Maskierung Modul