A mask
v CSS skriva del elementa, na katerega je uporabljen.
.el ( mask-image: url(star.svg); )
Recimo, da ste imeli element s fotografskim ozadjem in črno-belo grafiko SVG, ki jo boste uporabili kot masko, kot je ta:
Sliko lahko nastavite kot a background-image
in masko kot a mask-image
na isti element in dobite nekaj takega:
Maske imajo veliko skupnega z ozadji, saj jih lahko prilagodite, postavite in ponovite, podobno kot ozadja. Oglejte si povezane lastnosti spodaj. Tu pa je še ena zanimivost pri maskah, ki si jih delijo z ozadjem: lahko so prelivi.
Tu je ista slika v ozadju, le da jo linear-gradient
pokriva maska, zaradi česar zgornji del prozorno bledi, spodnji pa sploh ni prozoren:
To deluje, ker na vrhu linear-gradient
je transparent
. Domneval bi, da bi delovalo, če bi bilo white
tako dolgo, kot je mask-type
bilo luminance
, vendar se mi zdi, da to v nobenem brskalniku ne deluje.
Če govorimo o luminance
maskah, se mi zdi, da to ne deluje pri slikah kot maskah, ki so zame rastrska oblika, kot sta JPG.webp ali PNG. Posodobitev : Reader Micheal Hall piše z predstavitvijo, kjer je morda povezano z uporabo lastnosti dolge roke. Zdi se, da Firefox podpira ta koncept, če uporabljate samo stenografijo.
Toda alfa maske se zdijo v redu. Kot pri rasterskih grafikah, ki uporabljajo dejansko alfa preglednost. Všečkaj to:
In samo za dokazovanje trditve, barvno animacijo, ki jo vidite skozi masko:
mask-image
Premoženje se lahko uporablja tudi neposredno v SVG elementov. Tako kot si oglejte to eliptično masko, ki ima tudi zamegljen filter:
Zdi se, kot da bi lahko zagrabili to masko SVG in jo uporabili za druge elemente z, mask-image: url(#mask);
vendar se mi ne zdi, da to dejansko deluje. Deluje samo v SVG in ima neprijeten stranski učinek, da popolnoma izbriše sliko, če se uporablja zunaj SVG.
Podpora za brskalnik
Ti podatki o podpori brskalnika so od Caniuse, ki vsebuje več podrobnosti. Številka pomeni, da brskalnik podpira to funkcijo v tej različici ali novejši.
Namizje
Chrome | Firefox | IE | Rob | Safari |
---|---|---|---|---|
91 * | 53 | Ne | 88 * | TP * |
Mobilni / tablični računalnik
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 * | 85 | 81 * | 14,0-14,4 * |