A mask
di CSS menyembunyikan bagian dari elemen yang diterapkan.
.el ( mask-image: url(star.svg); )
Katakanlah Anda memiliki elemen dengan latar belakang fotografi, dan grafik SVG hitam-putih untuk digunakan sebagai topeng, seperti ini:
Anda dapat mengatur gambar sebagai a background-image
dan mask sebagai mask-image
elemen yang sama, dan mendapatkan sesuatu seperti ini:
Masker memiliki banyak kesamaan dengan latar belakang di mana Anda dapat mengukurnya, memposisikannya, dan mengulanginya dan semacamnya seperti latar belakang. Lihat properti terkait di bawah. Tapi inilah hal menarik lainnya tentang topeng yang mereka bagikan dengan latar belakang: mereka bisa menjadi gradien.
Inilah grafik latar belakang yang sama, hanya dengan linear-gradient
topeng yang menutupinya, yang membuat bagian atas transparan memudar bagian bawah yang tidak transparan sama sekali:
Itu berfungsi karena bagian atas linear-gradient
adalah transparent
. Saya akan berasumsi itu akan berhasil jika itu white
selama mask-type
itu luminance
, tetapi tampaknya itu tidak berfungsi di browser apa pun untuk saya.
Berbicara tentang luminance
topeng, itu sepertinya tidak berfungsi untuk gambar-sebagai-topeng yang merupakan format raster seperti JPG.webp atau PNG bagi saya. Pembaruan : Pembaca Micheal Hall menulis dengan demo yang mungkin ada hubungannya dengan penggunaan properti long-hand. Firefox tampaknya mendukung konsep ini jika Anda hanya menggunakan steno.
Tapi topeng alfa tampaknya berfungsi dengan baik. Seperti pada grafik raster yang menggunakan transparansi alpha yang sebenarnya. Seperti ini:
Dan hanya untuk membuktikan suatu hal, animasi warna yang dapat Anda lihat melalui topeng:
The mask-image
properti juga dapat digunakan secara langsung di dalam elemen SVG. Seperti lihat topeng elips ini yang juga memiliki filter buram:
Sepertinya Anda bisa mengambil topeng SVG itu dan menerapkannya ke elemen lain dengan mask-image: url(#mask);
tetapi saya tidak menemukan itu benar-benar berfungsi. Ini hanya berfungsi dalam SVG, dan memiliki efek samping yang tidak menyenangkan karena sepenuhnya menghapus gambar jika digunakan di luar SVG.
Dukungan Browser
Data dukungan browser ini berasal dari Caniuse, yang lebih detail. Angka menunjukkan bahwa browser mendukung fitur pada versi tersebut dan yang lebih baru.
Desktop
Chrome | Firefox | YAITU | Tepi | Safari |
---|---|---|---|---|
91 * | 53 | Tidak | 88 * | TP * |
Ponsel / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 * | 85 | 81 * | 14.0-14.4 * |