Prefers-Color-Scheme dan Prefers-Reduced-Motion
Hormati preferensi sistem pengguna untuk mode gelap dan animasi dengan gerakan yang dikurangi.
Prefers-Color-Scheme dan Prefers-Reduced-Motion adalah pelajaran CSS Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar CSS Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CSS Academy mencakup 4 pelajaran total.
Fitur Media Preferensi Pengguna
CSS dapat membaca preferensi sistem pengguna selain ukuran layar. Dengan demikian, mode dark otomatis dan animasi yang memperhatikan aksesibilitas dapat diterapkan tanpa interaksi pengguna di situs Anda.
prefers-color-scheme
Mendeteksi apakah pengguna telah mengatur OS ke mode terang atau dark:
<p>This page follows your OS color-scheme preference.</p>
Menerapkan Mode dark Otomatis
Implementasi yang paling bersih menggunakan variabel CSS yang menukar nilai berdasarkan preferensi:
<p>Auto dark mode via CSS variables.</p>
prefers-reduced-motion
Beberapa pengguna mengalami mual atau rasa tidak nyaman akibat animasi. Fitur media prefers-reduced-motion: reduce mendeteksi preferensi aksesibilitas ini.
<div class="box spun"></div>
Menghormati Preferensi Gerakan
Daripada menghapus semua animasi, sediakan animasi alternatif yang halus:
<div class="card">Card with motion-aware transition</div>
prefers-contrast
Mendeteksi apakah pengguna menginginkan kontras yang lebih tinggi (untuk aksesibilitas) atau kontras yang lebih rendah. Sesuaikan pilihan warna sebagaimana mestinya:
<p>Contrast-aware text</p>
prefers-reduced-transparency
Beberapa pengguna dengan gangguan penglihatan lebih menyukai transparansi yang lebih rendah. Kurangi efek berbasis backdrop-filter dan opacity:
<div class="glass-card">Glass card</div>
Akses JavaScript ke Preferensi
Baca preferensi ini dari JavaScript menggunakan window.matchMedia():
<div class="demo dark-mode" id="demo">Preference-aware box (dark-mode class toggled via JS below)</div>
<script>
const dark = window.matchMedia('(prefers-color-scheme: dark)');
dark.addEventListener('change', e => {
document.getElementById('demo').classList.toggle('dark-mode', e.matches);
});
</script>
Preferensi Sistem + Penggantian Manual
Hormati preferensi sistem secara bawaan dan izinkan pengguna menggantinya dengan toggle. Simpan penggantian tersebut di localStorage dan terapkan kelas pada <html>:
<div class="theme dark">Manual dark override applied via class</div>
prefers-reduced-data
Mendeteksi apakah pengguna mengaktifkan mode hemat data. Sajikan gambar yang lebih kecil atau lewati sumber daya yang tidak penting:
<div class="hero">Hero banner</div>
Pengujian di DevTools
Di Chrome DevTools, tab Perenderan memungkinkan Anda menyimulasikan mode dark, gerakan yang dikurangi, dan fitur media preferensi lainnya tanpa mengubah pengaturan OS.
Pemeriksaan Singkat
Apa cara terbaik untuk menerapkan mode dark otomatis yang juga mendukung toggle manual pengguna?
Ringkasan
prefers-color-scheme memungkinkan mode dark otomatis. prefers-reduced-motion sebaiknya menonaktifkan atau menyederhanakan animasi demi aksesibilitas. Terapkan keduanya menggunakan variabel CSS agar kode tetap bersih dan mudah dipelihara. Selalu sediakan penggantian manual agar pengguna dapat mengendalikan preferensinya secara terpisah dari OS.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Prefers-Color-Scheme dan Prefers-Reduced-Motion” gratis?
Ya — teks lengkap “Prefers-Color-Scheme dan Prefers-Reduced-Motion” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CSS Academy, upgrade ke CoddyKit PRO. Kursus CSS Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Prefers-Color-Scheme dan Prefers-Reduced-Motion”?
Hormati preferensi sistem pengguna untuk mode gelap dan animasi dengan gerakan yang dikurangi. Kamu berlatih CSS Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai CSS Academy?
Tidak diperlukan pengalaman sebelumnya. CSS Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Prefers-Color-Scheme dan Prefers-Reduced-Motion” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran CSS Academy ini?
Ya. Setiap pelajaran CSS Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Sintaks dan Titik Henti Umum
- Query Lebar Tinggi dan Orientasi
- Prefers-Color-Scheme dan Prefers-Reduced-Motion
- Menggabungkan Beberapa Media Query