Pemboleh Ubah CSS untuk Menukar Tema
Takrifkan palet warna lengkap dengan sifat tersuai CSS dan tukar tema dengan menogol atribut data.
Pemboleh Ubah CSS untuk Menukar Tema ialah pelajaran React Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran React Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus React Academy merangkumi sejumlah 4 pelajaran.
Menentukan Token Warna pada :root
Sifat tersuai CSS (pemboleh ubah) yang ditakrifkan pada :root tersedia secara global di seluruh helaian gaya. Tentukan palet warna lengkap sekali — latar belakang, warna teks, permukaan dan sempadan — kemudian rujuknya di mana-mana. Sumber kebenaran tunggal ini menjadikan pertukaran tema mudah.
Penggantian Tema Gelap dengan data-theme
Apabila atribut data-theme="dark" ditetapkan pada document.documentElement, pemilih CSS seperti [data-theme='dark'] menggantikan pemboleh ubah akar dengan nilai gelap. Komponen merujuk var(--color-bg) dan secara automatik menggunakan nilai baharu tanpa sebarang perubahan kod.
Pemboleh Ubah Utama untuk Ditentukan
Sekurang-kurangnya, tentukan: --color-bg (latar belakang halaman), --color-text (teks utama), --color-primary (warna jenama), --color-surface (latar belakang kad atau panel) dan --color-border (pemisah). Set token yang konsisten menghalang nilai warna sementara daripada muncul dalam komponen.
Menggunakan Pemboleh Ubah dalam Gaya Komponen
Dalam CSS komponen anda, rujuk pemboleh ubah seperti background: var(--color-bg) dan color: var(--color-text). Anda juga boleh memberikan nilai sandaran: var(--color-bg, #ffffff). Pelayar menyelesaikan pemboleh ubah pada masa pemaparan, jadi satu kelas berfungsi untuk kedua-dua tema cerah dan gelap.
Peralihan Lancar semasa Pertukaran
Tambahkan transition: background-color 200ms, color 200ms pada pemilih :root. Apabila atribut data-theme berubah, semua unsur yang menggunakan pemboleh ubah CSS akan beranimasi kepada nilai baharunya secara serentak. Ini menghasilkan pengalaman yang kemas tanpa sebarang kod animasi JS.
Pemboleh Ubah CSS berbanding Gaya Sebaris yang Dikawal JS
Mengurus tema melalui pemboleh ubah CSS lebih baik daripada menetapkan gaya sebaris daripada JavaScript. Pelayar mengendalikan semua pengiraan semula gaya secara natif, tiada pemaparan semula React tambahan dicetuskan untuk setiap komponen anak bertema dan lata CSS mengendalikan pewarisan secara automatik. JS hanya perlu menukar satu atribut pada unsur akar.
Sandaran Peringkat OS dengan prefers-color-scheme
Anda boleh menggabungkan pemboleh ubah CSS dengan pertanyaan @media (prefers-color-scheme: dark) sebagai sandaran yang hanya menggunakan CSS. Tentukan penggantian gelap dalam pertanyaan media itu sebagai tambahan kepada atau menggantikan pemilih data-theme. Ini memastikan mod gelap berfungsi walaupun JavaScript belum dijalankan.
Menggabungkan data-theme dengan Sandaran Pertanyaan Media
Pendekatan yang paling kukuh menggabungkan kedua-dua mekanisme: pertanyaan @media menyediakan lalai OS, manakala atribut data-theme membenarkan penggantian pengguna melalui JavaScript. Apabila atribut itu wujud, ia diutamakan kerana kekhususan; apabila tiada, pertanyaan media berkuat kuasa.
Imej Mod Gelap
Untuk imej yang kelihatan kurang baik pada latar belakang gelap, gunakan elemen picture HTML dengan anak source media="(prefers-color-scheme: dark)". Pelayar memilih varian gelap secara automatik. Untuk ikon SVG dalam CSS, anda boleh menggunakan filter: invert(1) sebagai anggaran pantas.
Pemboleh Ubah Tema Berlingkup
Pemboleh ubah CSS juga boleh dilingkungkan kepada komponen individu dengan mentakrifkannya pada unsur akar komponen dan bukannya :root. Ini membolehkan penemaaan mengikut komponen, seperti bar sisi dengan token latar belakangnya sendiri yang berbeza daripada latar belakang halaman, sambil semuanya masih bertukar dengan betul melalui togol tema global.
Menyahpepijat Pemboleh Ubah CSS dalam DevTools
Chrome DevTools memaparkan nilai pemboleh ubah CSS yang telah diselesaikan dalam panel Styles. Klik rujukan pemboleh ubah untuk pergi ke takrifannya. Ini memudahkan anda mengesahkan bahawa token gelap atau cerah yang betul digunakan pada mana-mana unsur. Anda juga boleh mengedit nilai pemboleh ubah secara langsung dalam panel.
Sifat Tersuai CSS untuk Penemaaan
Pemilih CSS manakah yang digunakan untuk menentukan sifat tersuai CSS global yang digunakan pada seluruh dokumen?
Ringkasan Pelajaran: Pemboleh Ubah CSS untuk Pertukaran Tema
Sifat tersuai CSS pada :root menyediakan sistem token berpusat untuk tema. Togol atribut data-theme pada unsur html untuk menukar tema serta-merta. Tambahkan peralihan CSS untuk animasi yang lancar, gunakan pertanyaan media prefers-color-scheme sebagai sandaran yang hanya menggunakan CSS dan elakkan penggantian gaya JS mengikut komponen.
Pelajari React dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 88
- Pelajaran
- 324
Soalan Lazim
Adakah pelajaran “Pemboleh Ubah CSS untuk Menukar Tema” percuma?
Ya — teks penuh “Pemboleh Ubah CSS untuk Menukar Tema” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus React Academy, tingkat taraf kepada CoddyKit PRO. Kursus React Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pemboleh Ubah CSS untuk Menukar Tema”?
Takrifkan palet warna lengkap dengan sifat tersuai CSS dan tukar tema dengan menogol atribut data. Anda berlatih React Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan React Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran React Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Pemboleh Ubah CSS untuk Menukar Tema” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran React Academy ini?
Ya. Setiap pelajaran React Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Mengesan Skema Warna Sistem
- Pemboleh Ubah CSS untuk Menukar Tema
- Konteks React untuk Keadaan Tema
- Mengekalkan Tema dan Menghalang Kelipan