mask-clip
Baseline 2023 *Newly available
Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
* Some parts of this feature may have varying levels of support.
Die mask-clip
-Eigenschaft in CSS bestimmt den Bereich, der von einer Maske betroffen ist. Der bemalte Inhalt eines Elements muss auf diesen Bereich beschränkt werden.
Syntax
/* <coord-box> values */
mask-clip: content-box;
mask-clip: padding-box;
mask-clip: border-box;
mask-clip: fill-box;
mask-clip: stroke-box;
mask-clip: view-box;
/* Keyword values */
mask-clip: no-clip;
/* Multiple values */
mask-clip: padding-box, no-clip;
mask-clip: view-box, fill-box, border-box;
/* Global values */
mask-clip: inherit;
mask-clip: initial;
mask-clip: revert;
mask-clip: revert-layer;
mask-clip: unset;
Werte
Die Eigenschaft akzeptiert eine durch Kommas getrennte Liste von Schlüsselwortwerten. Jeder Wert ist ein <coord-box>
oder no-clip
:
content-box
-
Der bemalte Inhalt wird auf die Content-Box zugeschnitten.
padding-box
-
Der bemalte Inhalt wird auf die Padding-Box zugeschnitten.
border-box
-
Der bemalte Inhalt wird auf die Border-Box zugeschnitten.
fill-box
-
Der bemalte Inhalt wird auf die Objektbegrenzungsbox zugeschnitten.
stroke-box
-
Der bemalte Inhalt wird auf die Umrissbegrenzungsbox zugeschnitten.
view-box
-
Verwendet die nächstliegende SVG-Ansicht als Referenzbox. Wenn ein
viewBox
-Attribut für das Element, das die SVG-Ansicht erstellt, angegeben ist, wird die Referenzbox an der Ursprungsposition des durch dasviewBox
-Attribut festgelegten Koordinatensystems platziert, und die Dimension der Referenzbox wird auf die Breite und Höhe desviewBox
-Attributs eingestellt. no-clip
-
Der bemalte Inhalt wird nicht zugeschnitten.
border
-
Dieses Schlüsselwort verhält sich wie
border-box
. padding
-
Dieses Schlüsselwort verhält sich wie
padding-box
. content
-
Dieses Schlüsselwort verhält sich wie
content-box
. text
-
Dieses Schlüsselwort schneidet das Maskenbild auf den Text des Elements zu.
Beschreibung
Die mask-clip
-Eigenschaft definiert den Bereich des Elements, der von der angewendeten Maske betroffen ist.
Für Maskenschichtbilder, die kein SVG unsupported templ: svgelem-Element referenzieren, definiert die mask-clip
-Eigenschaft den Maskenbemalungsbereich oder den von der Maske betroffenen Bereich. Der bemalte Inhalt des Elements wird auf diesen Bereich eingeschränkt.
Die mask-clip
-Eigenschaft hat keinen Einfluss auf ein Maskenschichtbild, das ein <mask>
-Element referenziert. Die Attribute x
, y
, width
, height
und maskUnits
des <mask>
-Elements bestimmen den Maskenbemalungsbereich, wenn die Quelle des mask-image
ein <mask>
ist.
Ein Element kann mehrere Maskenschichten haben. Die Anzahl der Schichten wird durch die Anzahl der durch Kommas getrennten Werte in der mask-image
-Eigenschaft bestimmt (auch wenn ein Wert none
ist). Jeder mask-clip
-Wert in der durch Kommas getrennten Liste der Werte wird in der Reihenfolge den mask-image
-Werten zugeordnet. Wenn die Anzahl der Werte in den beiden Eigenschaften unterschiedlich ist und überschüssige mask-clip
-Werte nicht verwendet werden, oder wenn mask-clip
weniger Werte als mask-image
hat, werden die mask-clip
-Werte wiederholt.
Formale Definition
Anfangswert | border-box |
---|---|
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
Zuschneiden einer Maske auf die Border-Box
Dieses Beispiel demonstriert drei mask-clip
-Werte.
HTML
Wir fügen drei Elemente ein, jedes mit einem anderen <coord-box>
-Wert als Klassenname.
<div class="border-box"></div>
<div class="padding-box"></div>
<div class="content-box"></div>
CSS
Das CSS definiert das Element mit einem Hintergrund, einem Rahmen, einem Innenabstand und einem Außenabstand, zusammen mit einem Maskenbild, wobei jedes <div>
eine andere <coord-box>
hat. Wir generierten Inhalt mit dem Namen der Klasse und verschoben diesen Text um 10px nach oben, um zu verhindern, dass er aus dem Sichtbereich maskiert wird.
div {
width: 100px;
height: 100px;
background-color: #8cffa0;
margin: 10px;
border: 20px solid #8ca0ff;
padding: 20px;
mask-image: url(https://mdn.github.io/shared-assets/images/examples/mdn.svg);
mask-size: 100% 100%;
}
.content-box {
mask-clip: content-box;
}
.border-box {
mask-clip: border-box;
}
.padding-box {
mask-clip: padding-box;
}
div::before {
content: attr(class);
position: relative;
top: -10px;
}
Ergebnisse
Spezifikationen
Specification |
---|
CSS Masking Module Level 1 # the-mask-clip |