CSS - User Select: Panduan Ramah untuk Pemula
Halo teman-teman, para ahli desain web masa depan! Hari ini, kita akan mengemban sebuah perjalanan menarik ke dunia CSS, khususnya mengeksplorasi properti user-select
. Jangan khawatir jika Anda baru dalam hal ini; saya akan menjadi panduan ramah Anda, menjelaskan segala sesuatunya secara langkah demi langkah. Jadi, ambillah secangkir kopi (atau teh, jika itu hal Anda), dan mari kita masuk ke dalamnya!
Apa Itu Properti user-select?
Sebelum kita masuk ke detilnya, mari kita memahami apa yang dimaksudkan oleh user-select
. Bayangkan Anda membaca sebuah halaman web, dan Anda mencoba untuk menyorot beberapa teks untuk menyalinnya, tapi Anda tidak bisa. Itu adalah properti user-select
dalam aksi! Properti ini mengontrol apakah pengguna dapat menyorot teks di halaman web.
Sekarang, Anda mungkin berpikir, "Mengapa kita ingin menghalangi pengguna dari menyorot teks?" Ada beberapa alasan:
- Untuk melindungi konten hak cipta
- Untuk meningkatkan pengalaman pengguna di elemen interaktif tertentu
- Untuk mencegah pemilihan teks yang tidak sengaja saat pengguna berinteraksi dengan tombol atau elemen yang dapat digeser
Sintaks dan Nilai Yang Mungkin
Mari kita lihat bagaimana kita menulis properti user-select
dalam CSS kita:
selector {
user-select: value;
}
Berikut adalah tabel nilai yang mungkin untuk user-select
:
Nilai | Deskripsi |
---|---|
none | Mencegah pemilihan teks |
auto | Default. Memungkinkan pemilihan teks berdasarkan aturan browser |
text | Memungkinkan pemilihan teks |
all | Memungkinkan pemilihan semua konten, termasuk kontainer |
contain | Memungkinkan pemilihan dalam elemen tetapi tidak ke ortu |
Sekarang, mari kita eksplorasi nilai ini secara detil!
CSS user-select - none Value
Nilai none
mirip seperti memberikan perisai tak terlihat di sekeliling teks Anda. Pengguna dapat melihatnya, tapi mereka tidak bisa menyorotnya. Berikut adalah contoh:
.no-select {
user-select: none;
}
<p class="no-select">Anda tidak bisa menyorot teks ini!</p>
<p>But you can select this one.</p>
Dalam contoh ini, pengguna tidak akan dapat menyorot paragraf pertama, tapi mereka dapat menyorot yang kedua. Itu seperti magis, bukan?
CSS user-select - auto Value
Nilai auto
adalah pengaturan default. Itu membiarkan browser menentukan kapan teks harus dapat dipilih. Itu seperti membiarkan browser Anda menjadi DJ di sebuah pesta – itu tahu kapan untuk memainkan lagu yang tepat!
.auto-select {
user-select: auto;
}
<p class="auto-select">Teks ini mengikuti aturan browser untuk pemilihan.</p>
CSS user-select - text Value
Nilai text
adalah sederhana – itu memungkinkan pemilihan teks. Itu berguna saat Anda ingin mengganti elemen induk yang mungkin memiliki user-select: none
.
.parent {
user-select: none;
}
.child {
user-select: text;
}
<div class="parent">
<p>Anda tidak bisa menyorot ini.</p>
<p class="child">But you can select this!</p>
</div>
Dalam contoh ini, teks di paragraf kedua dapat dipilih, meskipun div induknya tidak.
CSS user-select - all Value
Nilai all
mirip dengan tombol "select all" untuk konten Anda. Itu memungkinkan pengguna untuk tidak hanya menyorot teks, tetapi juga elemen pengelola.
.select-all {
user-select: all;
}
<div class="select-all">
<p>Ketika Anda menyorot teks ini,</p>
<p Anda juga akan menyorot seluruh div!</p>
</div>
Cobalah menyorot teks di contoh ini, dan Anda akan melihat bahwa seluruh div juga dipilih!
CSS user-select - contain Value
Nilai contain
agak sulit. Itu memungkinkan pemilihan dalam elemen, tapi mencegah pemilihan diperpanjang ke elemen ortu.
.outer {
user-select: none;
}
.inner {
user-select: contain;
}
<div class="outer">
Teks ini tidak dapat dipilih.
<div class="inner">
Teks ini dapat dipilih, dan pemilihan tidak akan diperpanjang ke div luar.
</div>
</div>
Ini berguna saat Anda ingin memungkinkan pemilihan di area tertentu tanpa mempengaruhi susunan lain.
Kompatibilitas Browser dan Prefix
Sekarang, ini adalah tips profesional dari guru CSS tetangga Anda: kompatibilitas browser! Tidak semua browser mendukung user-select
dengan cara yang sama. Untuk memastikan kompatibilitas maksimal, Anda mungkin perlu menggunakan prefix browser:
.no-select {
-webkit-user-select: none; /* Safari */
-ms-user-select: none; /* IE 10 and IE 11 */
user-select: none; /* Sintaks standar */
}
Aplikasi Praktis
Mari kitaakhiri dengan beberapa scenario dunia nyata di mana user-select
dapat sangat membantu:
-
Tombol dan Elemen Interaktif: Gunakan
user-select: none
untuk mencegah pemilihan teks yang tidak sengaja saat pengguna mengklik tombol. -
Pemberitahuan Hak Cipta: Perlindungi teks hak cipta Anda dengan
user-select: none
. -
Konten Kode: Gunakan
user-select: all
untuk blok kode agar pengguna dapat menyalin keseluruhan blok kode. -
Form: Terapkan
user-select: none
ke label dalam form untuk meningkatkan pengalaman pengguna saat mengklik kotak centang atau tombol radio.
Ingat, dengan kekuatan yang besar datang tanggung jawab yang besar. Meskipun user-select
dapat meningkatkan pengalaman pengguna, penggunaannya yang berlebihan mungkin membuat pengguna frustasi. Selalu pertimbangkan aksesibilitas dan kebutuhan pengguna saat menerapkan properti ini.
Dan begitulah, teman-teman! Anda telah meningkatkan keterampilan CSS Anda dengan properti user-select
. Tetap latih, tetap eksperimen, dan terutama, tetap bersenang-senang dengan CSS. Sebelum Anda tahu, Anda akan menciptakan pengalaman web yang tidak hanya berfungsi, tapi juga menyenangkan untuk digunakan. Selamat coding!
Credits: Image by storyset