A mask
v CSS skryje časť prvku, na ktorú sa aplikuje.
.el ( mask-image: url(star.svg); )
Povedzme, že ste použili prvok s fotografickým pozadím a čiernobielu grafiku SVG, ktorú môžete použiť ako masku, napríklad takto:


Môžete nastaviť obrázok ako a background-image
a masku ako mask-image
na rovnakom prvku a získať niečo také:
Masky majú veľa spoločného s pozadiami, pretože ich môžete zväčšiť, umiestniť a opakovať, podobne ako pozadie. Nižšie nájdete súvisiace vlastnosti. Ale tu je ešte jedna zaujímavosť o maskách, ktoré zdieľajú s pozadím: môžu to byť prechody.
Tu je rovnaká podkladová grafika, iba s linear-gradient
maskou, ktorá ju zakrýva, čo robí vrchnú priehľadnú blednutím spodnej, ktorá vôbec nie je priehľadná:
To funguje, pretože vrchol linear-gradient
je transparent
. Predpokladal by som, že to bude fungovať, ak to bude white
také dobré, aké to mask-type
bolo luminance
, ale zdá sa , že to v žiadnom prehliadači nefunguje.
Keď už hovoríme o luminance
maskách, zdá sa, že to nefunguje pre obrázky ako masky, ktoré majú pre mňa rastrový formát ako JPG.webp alebo PNG. Aktualizácia : Čitateľ Micheal Hall píše s ukážkou, kde by to mohlo mať niečo spoločné s používaním vlastností z dlhej ruky. Zdá sa, že Firefox podporuje tento koncept, ak používate iba skratku.
Zdá sa však, že alfa masky fungujú úplne dobre. Rovnako ako v rastrovej grafike, ktorá využíva skutočnú priehľadnosť alfa. Páči sa ti to:


A len na dokázanie bodu, farebná animácia, ktorú môžete vidieť cez masku:
mask-image
Nehnuteľnosť môže byť tiež použitá priamo vnútri SVG prvkov. Rovnako ako vyskúšať túto eliptickú masku, ktorá má tiež rozmazaný filter:
Vyzerá to trochu, akoby ste mohli zachytiť masku SVG a použiť ju na ďalšie prvky, mask-image: url(#mask);
ale nezdá sa mi, že by to skutočne fungovalo. Funguje iba v rámci SVG a má nepríjemný vedľajší účinok úplného vymazania obrázka, ak sa použije mimo SVG.
Podpora prehľadávača
Údaje o podpore tohto prehľadávača sú od spoločnosti Caniuse, ktorá obsahuje viac podrobností. Číslo označuje, že prehliadač podporuje túto funkciu v danej verzii alebo vyššej.
Desktop
Chrome | Firefox | IE | Hrana | Safari |
---|---|---|---|---|
91 * | 53 | Nie | 88 * | TP * |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 * | 85 | 81 * | 14,0 - 14,4 * |