Generator Loader CSS
Spinner memberi tahu pengguna bahwa ada proses yang sedang berjalan. Generator ini membuat satu spinner lingkaran berbasis CSS: atur diameter, ketebalan border, warna aksen dan kecepatan rotasi, lihat pratinjau langsung, lalu salin CSS-nya. Semuanya CSS murni, tanpa SVG, tanpa JavaScript dan tanpa pustaka eksternal.
Cara menggunakan generator
-
1
Atur ukuran
Diameter spinner dalam piksel. 40-80 px cocok untuk sebagian besar tombol dan area konten.
-
2
Atur ketebalan border
Cincin adalah border yang digambar pada lingkaran. Border lebih tebal membuat busur lebih tegas; 4-8 px terlihat pas pada 60 px.
-
3
Pilih warna
Warna aksen pada busur yang berputar. Sisa cincin tetap abu-abu terang agar busurnya menonjol.
-
4
Atur kecepatan dan salin CSS
Waktu per putaran penuh dalam detik. Sekitar 1 detik adalah titik ideal yang umum; di bawah 500 ms terasa panik, di atas 2 detik terasa lamban.
Cara kerja CSS yang dihasilkan
.loader {
width: 60px;
height: 60px;
border: 6px solid #eee;
border-top-color: #10b981;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
Spinner adalah lingkaran yang digambar dengan border tebal. Aturan border-top-color mewarnai hanya bagian atas cincin dengan warna aksen, sehingga cincin terlihat seperti busur, dan aturan @keyframes spin memutarnya di sekitar pusatnya. Memutar dengan transform: rotate() menjaga animasi tetap ringan, karena browser menggerakkan elemen di compositor, bukan menggambar ulang bingkai demi bingkai.
Untuk menampilkannya di halaman, tambahkan satu elemen dan muat CSS-nya:
<div class="loader" role="status" aria-label="Memuat"></div>
Buat agar mudah diakses
- Tambahkan
role="status"agar pembaca layar mengumumkan spinner. - Setel
aria-labeldengan teks status, misalnya “Memuat”. - Jangan sembunyikan konten di balik spinner lebih dari beberapa detik tanpa fallback timeout.
- Hormati
prefers-reduced-motion. Ganti animasi berputar dengan efek pudar sederhana atau teks statis “Memuat…” untuk pengguna yang menonaktifkan animasi:
@media (prefers-reduced-motion: reduce) {
.loader { animation: none; background: currentColor; opacity: .4; }
}
Kapan memakai spinner, kapan memakai UI optimistis
- Respons di bawah 100 ms: tidak perlu spinner; mata manusia hampir tidak merasakan jeda.
- 100 ms – 1 detik: spinner halus (lingkaran kecil, teks tombol “Memuat…”) mencegah klik ganda.
- 1 – 10 detik: spinner yang menonjol, idealnya dengan progres jika terukur.
- > 10 detik: ini bukan masalah spinner; cari tahu apa yang lambat dan perbaiki.
Untuk submit form dan klik tombol, spinner di dalam tombol biasanya lebih baik daripada overlay seluruh halaman.
Pertanyaan yang Sering Diajukan
CSS untuk spinner elemen-tunggal sederhana (trik rotate empat border). SVG saat Anda butuh trail meruncing, beberapa animasi stroke dasharray, atau segmen terisi yang tampak seperti goresan cat. CSS lebih kecil dan sederhana; SVG lebih fleksibel.
Mungkin karena Anda memutar elemen besar atau menganimasikan properti yang tidak ter-composite. Jaga ukuran spinner kecil, gunakan transform: rotate() (bukan top/margin), dan hindari memicunya saat animasi berat lain berjalan.
Hampir universal searah jarum jam. Spinner berlawanan arah terasa janggal karena sebagian besar isyarat rotasi nyata (jam, kincir angin) searah jarum jam. Ikuti konvensi kecuali Anda punya alasan spesifik.
Dengan setTimeout(..., 300) di JavaScript yang menambah class loader, plus clearTimeout jika operasi selesai lebih dulu. Mencegah kedipan pada respons cepat tanpa menyembunyikan jeda nyata.
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.