CSS - Pointer Events: A Beginner's Guide
Halo teman-teman pengembang web yang sedang belajar! Hari ini, kita akan masuk ke dunia menarik dari CSS pointer events. Jangan khawatir jika Anda masih baru – saya akan mengarahkan Anda langkah demi langkah, seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar. Jadi, ambil secangkir kopi (atau minuman kesukaan Anda), dan mari kita mulai!
Apa Itu Pointer Events?
Sebelum kita masuk ke detailnya, mari bicarakan apa sebenarnya pointer events. Bayangkan Anda di museum, dan ada tanda "Jangan Sentuh" di sebelah lukisan yang indah. Tanda itu seperti pointer event dalam CSS – itu mengontrol bagaimana Anda berinteraksi dengan elemen di halaman web.
Dalam CSS, properti pointer-events
memungkinkan kita mengontrol bagaimana elemen HTML merespon event mouse/touch. Itu seperti memberi superpower ke elemen halaman web Anda!
Sintaks Pointer Events
Mari kita mulai dengan sintaks dasar:
selector {
pointer-events: value;
}
Mudah, kan? Sekarang, mari kita lihat nilai yang mungkin Anda gunakan.
Nilai yang Mungkin untuk Pointer Events
Berikut adalah tabel dari semua nilai yang mungkin untuk properti pointer-events
:
Nilai | Deskripsi |
---|---|
auto | Elemen berperilaku seperti yang biasa jika properti itu tidak ditentukan |
none | Elemen tidak pernah menjadi target event pointer |
visiblePainted | Hanya SVG. Elemen hanya bisa menjadi target event pointer saat properti visibility diatur ke visible dan saat kursor mouse di atas area "dicat" |
visibleFill | Hanya SVG. Elemen bisa menjadi target event pointer saat properti visibility diatur ke visible dan saat kursor mouse di atas interior elemen |
visibleStroke | Hanya SVG. Elemen bisa menjadi target event pointer saat properti visibility diatur ke visible dan saat kursor mouse di atas perimeter elemen |
visible | Hanya SVG. Elemen bisa menjadi target event pointer saat properti visibility diatur ke visible |
painted | Hanya SVG. Elemen hanya bisa menjadi target event pointer saat kursor mouse di atas area "dicat" |
fill | Hanya SVG. Elemen hanya bisa menjadi target event pointer saat kursor mouse di atas interior elemen |
stroke | Hanya SVG. Elemen hanya bisa menjadi target event pointer saat kursor mouse di atas perimeter elemen |
all | Hanya SVG. Elemen bisa menjadi target event pointer saat kursor mouse di atas baik interior maupun perimeter elemen |
Jangan khawatir jika beberapa nilai ini tampakbinggung – kita akan fokus pada nilai yang paling umum digunakan dalam elemen HTML biasa.
Menggunakan Pointer Events
Properti pointer-events
bisa diterapkan ke sebagian besar elemen HTML. Itu sangat berguna untuk mengontrol interaksi dengan gambar, tautan, dan elemen lain yang dapat diklik.
CSS pointer-events: none Nilai
Mari kita mulai dengan kasus umum. Bayangkan Anda memiliki tombol yang ingin Anda nonaktifkan secara bersementara:
<button id="myButton">Klik saya!</button>
#myButton {
pointer-events: none;
opacity: 0.5;
}
Dalam contoh ini, kita telah mengatur pointer-events: none
pada tombol. Ini berarti tombol tidak akan merespon event mouse apa pun – itu seperti memberi perisai tak terlihat di atasnya. Kita juga mengurangi opacity untuk memberikan petunjuk visual bahwa tombol dinonaktifkan.
CSS pointer-events: auto Nilai
Sekarang, mari kita katakan kita ingin mengaktifkan tombol lagi:
#myButton {
pointer-events: auto;
opacity: 1;
}
Dengan mengatur pointer-events: auto
, kita memberitahu browser untuk menangani event pointer pada elemen ini seperti biasa. Itu seperti menghapus perisai tak terlihat.
Menonaktifkan Pointer Events pada Gambar
Ini adalah trik kecil yang saya suka tunjukkan kepada murid-murid saya. Kadang-kadang, Anda mungkin ingin membuat gambar "bisa diklik melalui" – artinya Anda dapat mengklik elemen di belakangnya. Berikut cara Anda dapat melakukannya:
<div class="container">
<img src="cute-cat.jpg" alt="Anak kucing yang lucu" class="overlay-image">
<button>Klik saya!</button>
</div>
.container {
position: relative;
}
.overlay-image {
position: absolute;
top: 0;
left: 0;
pointer-events: none;
}
Dalam contoh ini, kita memiliki gambar yang menutup tombol. Dengan mengatur pointer-events: none
pada gambar, kita memungkinkan klik untuk "melewati" gambar ke tombol di bawahnya.
Hal yang Perlu Diperingatkan
- Properti
pointer-events
tidak hanya mempengaruhi event mouse – itu juga mempengaruhi event sentuh di perangkat移动. - Menggunakan
pointer-events: none
tidak membuat elemen tak terlihat – itu hanya membuatnya non-aktif. - Berhati-hati saat menggunakan
pointer-events: none
pada elemen navigasi penting, karena itu dapat mempengaruhi aksesibilitas.
Kesimpulan
Dan itu adalah nya, teman-teman! Kita telah berpergian melalui negeri CSS pointer events. Ingat, seperti segala alat yang kuat, gunakanlah dengan bijak. Dalam tahun-tahun mengajar saya, saya telah melihat murid-murid menciptakan pengalaman interaktif yang benar-benar menakjubkan menggunakan properti ini.
Latih dengan contoh-contoh ini, eksperimen, dan jangan takut untuk membuat kesalahan – itu adalah bagaimana kita belajar! Sebelum Anda tahu, Anda akan mengendalikan event pointer seperti seorang ahli, menciptakan halaman web dinamis dan interaktif yang akan mempesona pengguna Anda.
Tetap mengoding, tetap belajar, dan terutama, bersenang-senang! Sampaijumpa lagi, semoga styling Anda senantiasa baik!
Credits: Image by storyset