Ein mask
in CSS ausgeblendeter Teil des Elements wird angewendet.
.el ( mask-image: url(star.svg); )
Angenommen, Sie hatten ein Element mit einem fotografischen Hintergrund und eine Schwarzweiß-SVG-Grafik, die Sie wie folgt als Maske verwenden können:


Sie können das Bild als background-image
und die Maske als mask-image
auf dasselbe Element setzen und so etwas erhalten:
Masken haben viele Gemeinsamkeiten mit Hintergründen, da Sie sie in der Größe anpassen, positionieren und wiederholen können, und so weiter wie Hintergründe. Siehe die zugehörigen Eigenschaften unten. Aber noch etwas Interessantes an Masken, die sie mit Hintergründen teilen: Sie können Farbverläufe sein.
Hier ist dieselbe Hintergrundgrafik, nur mit einer linear-gradient
Maske, die die Oberseite transparent macht und die Unterseite verblasst, die überhaupt nicht transparent ist:
Das funktioniert, weil die Spitze der linear-gradient
ist transparent
. Ich hätte angenommen , es würde funktionieren , wenn es white
auch so lange , wie das mask-type
war luminance
, aber das an der Arbeit nicht für mich in jedem Browser zu sein scheint.
Apropos luminance
Masken, das scheint für Bilder als Masken, die für mich ein Rasterformat wie JPG.webp oder PNG sind, nicht zu funktionieren. Update : Leser Micheal Hall schreibt mit einer Demo, in der es möglicherweise etwas mit der Verwendung der Long-Hand-Eigenschaften zu tun hat. Firefox scheint dieses Konzept zu unterstützen, wenn Sie nur die Kurzschrift verwenden.
Aber Alpha-Masken scheinen gut zu funktionieren. Wie bei Rastergrafiken, die die tatsächliche Alpha-Transparenz verwenden. So was:


Und nur um einen Punkt zu beweisen, eine Farbanimation, die Sie durch die Maske sehen können:
Die mask-image
Eigenschaft kann auch direkt in SVG-Elementen verwendet werden. Schauen Sie sich diese elliptische Maske an, die auch einen unscharfen Filter hat:
Es sieht so aus, als könnten Sie sich diese SVG-Maske schnappen und sie auf andere Elemente anwenden, mask-image: url(#mask);
aber ich finde nicht, dass das tatsächlich funktioniert. Es funktioniert nur innerhalb von SVG und hat den bösen Nebeneffekt, dass ein Bild vollständig gelöscht wird, wenn es außerhalb von SVG verwendet wird.
Browser-Unterstützung
Diese Browser-Unterstützungsdaten stammen von Caniuse, das detaillierter ist. Eine Zahl gibt an, dass der Browser die Funktion ab dieser Version unterstützt.
Desktop
Chrom | Feuerfuchs | IE | Kante | Safari |
---|---|---|---|---|
91 * | 53 | Nein | 88 * | TP * |
Handy / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 * | 85 | 81 * | 14.0-14.4 * |