Generator Bilah Gulir CSS
Bilah gulir kustom dulu merupakan mimpi buruk pseudo-elemen berprefiks vendor. Kini scrollbar-color dan scrollbar-width menangani kasus umum di semua peramban modern: lebar sempit atau normal serta tema dua warna (penggeser dan jalur). Untuk kontrol tingkat piksel (padding jalur, radius penggeser, keadaan saat kursor melintas), pseudo-elemen lama ::-webkit-scrollbar masih berfungsi di Chrome dan Safari. Generator ini menghasilkan kedua versi dan mengaturnya secara berkaskade dengan benar.
Cara menata gaya bilah gulir
-
1
Pilih lebar
Auto (lebar bawaan platform), tipis (lebih sempit), atau nilai piksel tertentu melalui aturan webkit.
-
2
Atur warna penggeser dan jalur
`scrollbar-color` modern menerima dua warna. Aturan webkit memberikan warna, radius, dan keadaan saat kursor melintas secara terpisah.
-
3
Tambahkan efek saat kursor melintas (opsional)
Penggeser menjadi lebih terang saat kursor melintas. Berfungsi melalui `::-webkit-scrollbar-thumb:hover`.
-
4
Tentukan cakupan
Terapkan ke `html` / `body` (seluruh halaman) atau hanya ke kontainer gulir tertentu.
-
5
Salin CSS
Aturan modern dan webkit yang digabung: berfungsi di setiap peramban modern dengan mekanisme cadangan yang mulus.
Properti standar modern (2023+)
/* Applies to the element that scrolls */
html {
scrollbar-width: thin; /* auto | thin | none */
scrollbar-color: #4f46e5 #e5e7eb; /* thumb track */
}
Dukungan peramban (2024):
scrollbar-width: Chrome 121+, Safari 18.2+, Firefox 64+.scrollbar-color: Chrome 121+, Safari 18.2+, Firefox 64+.scrollbar-gutter: stable: Chrome 94+, Safari 14+, Firefox 97+. Menyediakan ruang bilah gulir bahkan saat tidak dibutuhkan, sehingga mencegah pergeseran tata letak.
Pseudo-elemen webkit (Chrome, Safari, Edge versi lama)
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: #e5e7eb;
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: #4f46e5;
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: #3730a3;
}
Kontrol yang lebih rinci. width mengatur lebar bilah gulir vertikal; height mengatur tinggi bilah gulir horizontal. Tambahkan keduanya untuk kontainer yang bisa digulir ke kedua arah.
Kaskadekan kedua pendekatan
Tentukan aturan modern terlebih dahulu, lalu webkit sebagai peningkatan untuk peramban yang merender keduanya:
.scroll-area {
scrollbar-width: thin;
scrollbar-color: #4f46e5 #e5e7eb;
}
.scroll-area::-webkit-scrollbar { width: 8px; }
.scroll-area::-webkit-scrollbar-track { background: #e5e7eb; }
.scroll-area::-webkit-scrollbar-thumb {
background: #4f46e5;
border-radius: 4px;
border: 2px solid #e5e7eb;
}
Firefox hanya mematuhi aturan modern scrollbar-*. Chrome dan Safari mematuhi aturan webkit (yang menimpa aturan modern, sehingga perilakunya konsisten).
scrollbar-gutter mencegah pergeseran konten
Tanpa ruang yang dicadangkan, konten menata ulang ketika bilah gulir muncul (umum pada daftar dinamis). Perbaikan:
html { scrollbar-gutter: stable; }
/* or */
html { scrollbar-gutter: stable both-edges; }
Ruang bilah gulir dicadangkan terlepas dari apakah konten digulir atau tidak. both-edges menambahkan ruang yang sepadan di sisi berlawanan agar konten tetap terlihat berada di tengah.
Sembunyikan bilah gulir sepenuhnya
.no-scrollbar {
scrollbar-width: none; /* Firefox */
}
.no-scrollbar::-webkit-scrollbar { display: none; } /* Chrome, Safari */
Hati-hati: menyembunyikan bilah gulir membuat pengguna tidak tahu bahwa konten bisa digulir. Gunakan hanya dengan indikator yang jelas (panah, titik halaman) atau ketika perilaku gulir sudah jelas dari konteks (karosel horizontal, riwayat obrolan).
Pertimbangan untuk perangkat seluler
Di iOS dan Android, bilah gulir hanya muncul sekejap saat menggulir. CSS bilah gulir kustom Anda tetap berlaku, tetapi pengguna mungkin tidak pernah melihatnya lebih dari satu detik. Rancang sesuai kondisi itu: jangan terlalu banyak berinvestasi pada hiasan visual yang jarang tampil.
Aksesibilitas
- Kontras: penggeser terhadap jalur harus memenuhi 3:1 untuk kontras nonteks (WCAG 1.4.11).
- Lebar: bilah gulir yang tipis dapat sulit ditangkap dengan tetikus, terutama bagi pengguna dengan keterbatasan motorik. Lebar normal adalah pengaturan bawaan yang lebih aman.
- Jangan pernah menghapus bilah gulir pada area yang dapat digulir tanpa menyediakan cara menggulir lain. Pengguna yang mengandalkan bilah gulir akan kesulitan.
Pertanyaan yang Sering Diajukan
Ya, dengan properti modern scrollbar-width dan scrollbar-color. Firefox tidak mendukung pseudo-elemen webkit, jadi untuk tampilan yang konsisten di semua peramban, gunakan properti modern terlebih dahulu lalu tambahkan aturan webkit sebagai peningkatan.
Karena bilah gulir bawaan menutupi konten dan tidak mencadangkan ruang sampai dibutuhkan. Atur scrollbar-gutter: stable pada elemen yang dapat digulir agar ruang selalu tercadang, sehingga mencegah penataan ulang saat bilah gulir muncul atau menghilang.
Biasanya ya, karena bilah gulir tampak tidak pada tempatnya dan bersaing dengan konten. Tambahkan titik paginasi atau tombol panah yang terlihat agar pengguna tetap tahu bahwa konten bisa digulir. Patuhi prefers-reduced-motion jika menggunakan pengancingan gulir (scroll-snapping).
Bisa. Bilah gulir yang sangat tipis atau berkontras rendah sulit digunakan oleh pengguna dengan keterbatasan motorik dan penglihatan rendah. Pertahankan lebar bilah gulir setidaknya 8–10 px agar nyaman digenggam, dan jaga kontras 3:1 antara penggeser dan jalur.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Penghitung FPS
Ukur FPS browser dengan requestAnimationFrame: penghalusan, frame rate minimum dan maksimum, ambang peringatan, dan grafik opsional. Berjalan lokal, tanpa unggahan dan tanpa API.
Generator Warna Acak
Buat 1 hingga 50 warna HEX acak dengan contoh warna yang bisa dipratinjau, disalin, dan dipakai di CSS, pengujian, atau eksplorasi palet.
Pemilih Warna HEX
Pilih atau masukkan warna HEX untuk mendapatkan RGB, HSL, perkiraan CMYK, luminans relatif, serta kontras terhadap putih dan hitam.