$type=ticker$count=12$cols=3$cate=0

Cara Membuat Dark Mode Website dengan CSS Tanpa JavaScript

SHARE:

Pelajari cara membuat fitur dark mode pada website menggunakan CSS tanpa JavaScript dengan langkah yang mudah dipahami pemula.
CSS

Dark mode bukan lagi sekadar tren visual. Dalam beberapa tahun terakhir, fitur ini berubah menjadi standar desain modern yang hampir selalu tersedia di aplikasi dan website populer. Mulai dari media sosial, platform coding, hingga dashboard profesional, semuanya menyediakan opsi tampilan gelap karena alasan kenyamanan mata, efisiensi energi pada layar tertentu, dan preferensi estetika pengguna.

Menariknya, membuat dark mode saat ini tidak lagi membutuhkan JavaScript yang kompleks. Dengan perkembangan fitur CSS modern seperti "prefers-color-scheme", "color-scheme", dan CSS variables, kita bisa membangun sistem dark mode yang ringan, otomatis, dan tetap responsif. Artikel ini akan membahasnya secara lengkap dan terstruktur.

Dark mode bukan hanya soal mengganti warna putih menjadi hitam. Ada beberapa alasan kuat mengapa fitur ini penting dalam pengembangan website :

Pertama, dari sisi pengalaman pengguna. Banyak pengguna lebih nyaman membaca teks dalam kondisi cahaya redup menggunakan tampilan gelap. Kedua, dark mode membantu mengurangi silau layar terutama pada malam hari. Ketiga, pada perangkat dengan layar OLED atau AMOLED, warna gelap dapat membantu efisiensi daya.

Selain itu, menyediakan dark mode menunjukkan bahwa website kamu mengikuti standar UI modern. Hal ini meningkatkan kredibilitas dan profesionalitas tampilan web yang kamu bangun. Namun, dark mode yang baik tidak sekadar membalik warna. Ia membutuhkan perencanaan sistem warna, kontras yang tepat, dan struktur styling yang fleksibel.

Memahami prefers color scheme

Salah satu fitur CSS modern yang membuat dark mode menjadi sederhana adalah media query "prefers-color-scheme". Fitur ini memungkinkan website mendeteksi preferensi tampilan sistem pengguna secara otomatis.

CSS
Gambar 4. Properti color scheme pada tampilan browser dark mode.

Ketika pengguna mengaktifkan dark mode di sistem operasi atau browser mereka, website dapat langsung menyesuaikan tampilannya tanpa interaksi tambahan.

Contoh penggunaannya sederhana :

[@media (prefers-color-scheme: dark) { body { background-color: #121212; color: #ffffff; } }]

Dengan pendekatan ini, website akan otomatis berubah menjadi mode gelap jika sistem pengguna berada dalam dark mode. Jika tidak, maka tampilan default tetap digunakan. Pendekatan ini sangat direkomendasikan karena :

  • Tidak membutuhkan JavaScript
  • Ringan dan cepat
  • Didukung oleh mayoritas browser modern
  • Mengikuti preferensi pengguna secara otomatis

Sistem Warna yang Fleksibel

Agar dark mode lebih terstruktur dan mudah dikembangkan, sebaiknya gunakan CSS variables atau custom properties. Teknik ini memungkinkan kamu mendefinisikan warna utama di satu tempat, lalu menggantinya sesuai kebutuhan.

CSS
Gambar 2. Penggunaan CSS variables untuk sistem warna fleksibel.

Contoh implementasi :

[:root { --bg-color: #ffffff; --text-color: #000000; } @media (prefers-color-scheme: dark) { :root { --bg-color: #121212; --text-color: #ffffff; } } body { background-color: var(--bg-color); color: var(--text-color); }]

Dengan metode ini :

  • Struktur kode lebih rapi
  • Mudah menambahkan tema tambahan di masa depan
  • Memudahkan pengelolaan design system
  • Lebih scalable untuk proyek besar

Pendekatan ini juga sangat cocok jika website kamu memiliki banyak komponen seperti card, navbar, button, dan form.

Properti color scheme

Selain media query, CSS modern juga menyediakan properti "color-scheme". Properti ini memberi tahu browser bahwa halaman mendukung dark mode sehingga elemen default seperti scrollbar, form input, dan UI bawaan browser ikut menyesuaikan.

CSS
Gambar 3. Properti color scheme pada tampilan browser dark mode.

[:root { color-scheme: light dark; }]

Dengan satu baris ini, browser akan membantu menyesuaikan komponen internalnya agar selaras dengan mode terang maupun gelap. Ini adalah detail kecil yang sering dilewatkan, tetapi sangat penting untuk menciptakan pengalaman yang konsisten.

Membuat Dark Mode dengan Transisi

Perubahan warna yang mendadak terkadang terasa kasar. Untuk meningkatkan pengalaman pengguna, kamu bisa menambahkan efek transisi.

CSS
Gambar 4. Transisi halus dari light mode ke dark mode.

[body { transition: background-color 0.3s ease, color 0.3s ease; }]

Dengan transisi ini, perpindahan antara mode terang dan gelap akan terasa lebih lembut dan profesional. Namun perlu diingat, jangan berlebihan dalam menambahkan animasi karena bisa mengganggu kenyamanan visual.

Secara default, CSS hanya bisa mengikuti preferensi sistem. Untuk membuat toggle manual murni tanpa JavaScript memang lebih terbatas. Biasanya diperlukan bantuan input checkbox dan selector CSS tertentu untuk mengubah tema secara lokal.

Namun untuk implementasi yang lebih fleksibel seperti menyimpan preferensi pengguna, JavaScript tetap menjadi solusi yang lebih praktis. Dalam konteks artikel ini, kita fokus pada dark mode otomatis berbasis CSS agar tetap ringan dan efisien.

Best Practice dalam Mendesain Dark Mode

Pertama, hindari menggunakan hitam pekat murni seperti #000000. Warna abu gelap seperti #121212 atau #1e1e1e lebih nyaman di mata.

CSS
Gambar 5. Perbandingan desain dark mode dengan kontras yang baik.

Kedua, perhatikan kontras teks. Gunakan rasio kontras yang cukup agar tetap terbaca dengan jelas.

Ketiga, jangan hanya membalik warna. Pastikan elemen seperti border, shadow, dan icon tetap terlihat jelas.

Keempat, uji di berbagai perangkat dan browser untuk memastikan kompatibilitas.

Saat ini, "prefers-color-scheme" sudah didukung oleh Chrome, Edge, Firefox, Safari, dan sebagian besar browser mobile modern. Artinya, implementasi dark mode berbasis CSS sudah cukup aman digunakan di proyek produksi.

Namun, untuk browser lama, sebaiknya tetap sediakan tampilan default yang nyaman meskipun tanpa fitur dark mode otomatis.

Membuat dark mode website dengan CSS tanpa JavaScript kini jauh lebih mudah berkat fitur modern seperti "prefers-color-scheme," CSS variables, dan "properti color-scheme". Dengan pendekatan yang tepat, kamu bisa membangun sistem tema yang ringan, responsif, dan tetap profesional tanpa menambah kompleksitas kode.

Bagi pemula, ini adalah langkah awal yang sangat baik untuk memahami bagaimana CSS berkembang dan menjadi semakin powerful. Bagi developer yang lebih berpengalaman, pendekatan ini bisa menjadi fondasi untuk membangun design system yang scalable.

Dark mode bukan sekadar tren visual, tetapi bagian dari standar pengembangan web modern. Dan kabar baiknya, kamu bisa mulai menerapkannya sekarang hanya dengan CSS.


COMMENTS

Nama

Coding,23,css,22,html,31,javascript,23,laravel,16,pascal,9,php,29,sql,11,
ltr
item
DEV Media: Cara Membuat Dark Mode Website dengan CSS Tanpa JavaScript
Cara Membuat Dark Mode Website dengan CSS Tanpa JavaScript
Pelajari cara membuat fitur dark mode pada website menggunakan CSS tanpa JavaScript dengan langkah yang mudah dipahami pemula.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHprPYU5Hu50_nosyTpUBZ1aoEEThZyZjDb4sEzJf3lM9IiNuLqM-qENS9R8BmLSzQ1z7226NcZsYwQ5JiVzFZirtLwSCkwtSqj2SaXiaEJgqpsET9ADopTyij2ziR2dDv4STvs0hS_6yzEFaxk75qadutPee9aEBXR1VXN5bpT08gbTuyIS_xGxm_YMg/s1600/developer.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHprPYU5Hu50_nosyTpUBZ1aoEEThZyZjDb4sEzJf3lM9IiNuLqM-qENS9R8BmLSzQ1z7226NcZsYwQ5JiVzFZirtLwSCkwtSqj2SaXiaEJgqpsET9ADopTyij2ziR2dDv4STvs0hS_6yzEFaxk75qadutPee9aEBXR1VXN5bpT08gbTuyIS_xGxm_YMg/s72-c/developer.png
DEV Media
https://www.dev.or.id/2026/02/cara-membuat-dark-mode-website-dengan-css.html
https://www.dev.or.id/
https://www.dev.or.id/
https://www.dev.or.id/2026/02/cara-membuat-dark-mode-website-dengan-css.html
true
6052010953020735000
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content