CSS Masking - mask (ID)

Hai teman-teman masa depan yang akan menjadi master CSS! Hari ini, kita akan mendalami dunia yang menarik dari CSS masking. Bayangkan Anda adalah seorang penyihir, dan Anda ingin membuat bagian dari halaman web Anda menghilang atau muncul dengan cara yang menarik. Itu tepatnya apa yang CSS masking memungkinkan kita lakukan! Jadi, mari kita pakai topi penyihir kita dan belajar beberapa trik CSS!

CSS - Masking

Apa Itu CSS Masking?

CSS masking mirip dengan menggunakan stensil tak terlihat pada elemen web Anda. Itu memungkinkan Anda menyembunyikan atau menampilkan sebagian elemen berdasarkan gambar lain atau bentuk. Teknik ini sangat kuat dan dapat menciptakan efek yang sangat menarik!

Nilai yang Mungkin

Sebelum kita mulai mengkode, mari kita lihat nilai yang berbeda yang dapat kita gunakan dengan properti mask. Bayangkan ini sebagai jenis berbeda dari tongkat sihir, masing-masing menciptakan efek yang unik:

Nilai Deskripsi
none Tidak ada masking yang diterapkan
<mask-reference> Merujuk ke gambar masking
<masking-mode> Menentukan bagaimana masking diterapkan
<position> Mengatur posisi masking
<bg-size> Menentukan ukuran masking
<repeat-style> Menentukan bagaimana masking berulang
<geometry-box> Menentukan kotak masking
no-clip Menghindari pemotongan masking

Jangan khawatir jika ini terlihat membingungkan saat ini. Kita akan mengexploreasi masing-masing dengan contoh!

Diterapkan Pada

Properti mask dapat diterapkan pada setiap elemen. Itu seperti memiliki tongkat sihir yang bekerja pada semua!

Sintaks

Sintaks dasar untuk properti mask tampak seperti ini:

.element {
mask: <value>;
}

Sekarang, mari kita lihat nilai masing-masing secara rinci.

CSS mask - none Value

Nilai none sangat jelas. Itu berarti tidak ada masking yang diterapkan. Itu seperti memutuskan untuk tidak menggunakan tongkat sihir Anda sama sekali.

.no-mask {
mask: none;
}

Kode ini hanya memberitahu browser, "Jangan terapkan masking pada elemen ini."

CSS mask - <mask-reference>

Ini adalah tempat dimulainya magik nyata! Sebuah <mask-reference> dapat berupa gambar atau gradient CSS yang menentukan bagian mana dari elemen yang harus terlihat.

.image-mask {
mask-image: url('mask.png');
mask: url('mask.png');
}

.gradient-mask {
mask-image: linear-gradient(ke kanan, transparent, hitam);
mask: linear-gradient(ke kanan, transparent, hitam);
}

Dalam contoh ini, kita menggunakan baik file gambar ('mask.png') atau gradient linear sebagai masking kita. Bagian hitam dari masking akan menampilkan elemen, sedangkan bagian transparan akan menyembunyikan itu.

CSS mask - <masking-mode>

Mode masking menentukan bagaimana masking diterapkan. Ada dua nilai: alpha dan luminance.

.alpha-mask {
mask-mode: alpha;
}

.luminance-mask {
mask-mode: luminance;
}
  • alpha: Menggunakan kanal alpha gambar masking.
  • luminance: Menggunakan luminasi (kecerahan) gambar masking.

CSS mask - <position>

Seperti gambar latar belakang, Anda dapat menempatkan masking Anda:

.positioned-mask {
mask-position: center;
/* atau */
mask: url('mask.png') center;
}

Ini menempatkan masking di tengah elemen. Anda dapat menggunakan nilai posisi CSS yang valid di sini.

CSS mask - <bg-size>

Anda juga dapat mengontrol ukuran masking Anda:

.sized-mask {
mask-size: cover;
/* atau */
mask: url('mask.png') cover;
}

Ini membuat masking menutupi seluruh elemen. Anda dapat menggunakan dimensi khusus juga, seperti 100px 200px.

CSS mask - <repeat-style>

Jika masking Anda lebih kecil dari elemen, Anda dapat mengontrol bagaimana itu berulang:

.repeating-mask {
mask-repeat: repeat-x;
/* atau */
mask: url('mask.png') repeat-x;
}

Ini mengulangi masking secara horizontal di sepanjang elemen.

CSS mask - <geometry-box>

Kotak geometri menentukan area yang masking menutupi:

.box-mask {
mask-clip: padding-box;
/* atau */
mask: url('mask.png') padding-box;
}

Ini menerapkan masking ke kotak padding elemen.

CSS mask - <geometry-box> | no-clip

Nilai no-clip menghindari pemotongan masking ke batas elemen:

.no-clip-mask {
mask-clip: no-clip;
/* atau */
mask: url('mask.png') no-clip;
}

Ini memungkinkan masking untuk diperpanjang melewati batas elemen.

CSS mask - Properti Terkait

Ada beberapa properti terkait mask yang memberikan Anda kendali yang lebih banyak:

Properti Deskripsi
mask-image Menentukan gambar masking
mask-mode Mengatur mode masking
mask-repeat Mengontrol bagaimana masking berulang
mask-position Mengatur posisi masking
mask-clip Menentukan area pemantulan masking
mask-origin Mengatur asal masking
mask-size Menentukan ukuran masking
mask-composite Menentukan bagaimana masking digabungkan

Setiap properti ini mengacu pada bagian dari properti mask shorthand yang kita gunakan.

Dan begitu saja, teman-teman penyihir CSS muda! Anda telah belajar dasar-dasar CSS masking. Ingat, seperti semua trik sihir, memahami CSS masking memerlukan latihan. Jadi jangan takut untuk mencoba dan menciptakan desain web yang magis Anda sendiri!

Dalam tahun-tahun mengajar saya, saya menemukan bahwa cara terbaik untuk belajar adalah dengan melakukan. Jadi ini adalah latihan menarik untuk Anda: coba menciptakan efek "revelasi" pada gambar menggunakan gradient masking. Buatlah agar saat Anda mengarahkan kursor ke gambar, itu terungkap sepenuhnya. Itu seperti menarik tabir untuk menampilkan gambar tersembunyi!

Happy coding, dan semoga masking Anda selalu pas!

Credits: Image by storyset