berdasarkan @media
, menampung pengguna mengatasi tetapan OS, dan mencipta palet warna yang berbeza untuk kebolehcapaian semua menambah kerumitan. Tetapi CSS moden memudahkan ini dengan ketara. prefers-color-scheme
skema warna automatik beralih melalui pilihan OS
, hanya mengisytiharkan @media
pada elemen akar membolehkan penukaran automatik berdasarkan pilihan OS pengguna. Pelayar menghormati "cahaya" OS, "gelap," atau "auto" tetapan skema warna. Ini juga boleh dicapai melalui tag HTML color-scheme: light dark;
: <meta>
. Kedua -dua kaedah ini mencapai hasil yang sama: menjadikan kedua -dua skim cahaya dan gelap tersedia dan memohon yang sesuai. <meta content="light dark" name="color-scheme">
atau harta CSS dengan JavaScript. Memohon <meta>
kepada unsur -unsur individu juga mungkin, tetapi memerlukan pengisytiharan eksplisit color-scheme
dan color
sifat untuk mengelakkan isu -isu warisan. background-color
pembolehubah: <system-color></system-color>
(latar belakang) dan Canvas
(teks). Pembolehubah ini secara automatik menyesuaikan dengan perubahan CanvasText
, berkelakuan sama dengan color-scheme
, tetapi currentColor
tetap tetap sebagai warna teks lalai. CanvasText
: color-scheme
(19 secara keseluruhan). MDN menyediakan senarai lengkap. Walau bagaimanapun, penyemak imbas dan OS tidak konsisten wujud dalam rendering dan sokongan mereka. Rangka kerja Egor Kloos mengesan status semasa pembolehubah ini. <system-color></system-color>
system.css
mengisytiharkan warna untuk kedua -dua mod
3. Pendekatan berasaskan Opacity:
ditunjukkan, tetapi kurang berkesan untuk teks dan menghasilkan warna yang disenyapkan. rgb(128 0 0 / 0.5)
color-mix()
Fungsi: fungsi color-mix()
membolehkan warna pencampuran dengan perkadaran yang ditentukan (mis., color-mix(in oklab, Canvas 75%, RebeccaPurple)
light-dark()
(mis., light-dark()
) menawarkan kawalan yang paling tepat, yang membolehkan warna yang sama sekali berbeza dalam mod cahaya dan gelap. Ia juga boleh menggabungkan light-dark(lavender, saddlebrown)
. Sokongan penyemak imbas adalah tinggi tetapi sandaran mungkin diperlukan. color-mix()
color-scheme
over light-dark()
pertanyaan @media
menawarkan beberapa kelebihan lebih dari color-scheme
: @media prefers-color-scheme
Pelarasan Skema Warna Berasaskan CSS
pseudo-selector dan input radio atau :has()
elemen. Walau bagaimanapun, ini terhad kepada perubahan per-halaman dan memerlukan <select></select>
sokongan. :has()
atau <meta>
boleh digunakan untuk memanipulasi html.style.setProperty()
. Fungsi meningkatkan kebolehgunaan semula kod. color-scheme
berterusan merentasi sesi, manakala localStorage
dibersihkan pada penutupan pelayar. Pilihan bergantung kepada tingkah laku pengguna dan pertimbangan pematuhan GDPR. sessionStorage
dan prefers-contrast
) untuk penyesuaian selanjutnya. Gunakan atribut Aria (mis., filter: contrast()
) Secara seimbang untuk keserasian pembaca skrin yang dipertingkatkan. aria-pressed
Kesimpulannya, CSS moden memudahkan penciptaan mod cahaya dan gelap. Merangkul fleksibiliti dan pilihan pengguna yang ditawarkan oleh
, dan penyimpanan keutamaan pengguna. color-scheme
Atas ialah kandungan terperinci Datang ke sisi cahaya (). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!