cari
Rumahhujung hadapan webtutorial cssKehormatan lebih suka skim warna dalam API cat CSS dengan sifat tersuai

API cat CSS dan sifat tersuai: Laraskan kesan lukisan mengikut keutamaan pengguna

CSS Paint API telah menjadi teknologi yang menarik dalam beberapa tahun kebelakangan ini. Ia membolehkan pemaju untuk membuat unit kerja lukisan tersuai dan mengawal bagaimana mereka memberikan melalui CSS. Menggabungkan pertanyaan media prefers-color-scheme dan atribut adat CSS, kita secara dinamik boleh menyesuaikan penampilan unit lukisan mengikut pilihan cahaya dan mod gelap pengguna.

Artikel ini akan menggunakan Unit Kerja Lukisan Lanskap Final Fantasy II sebagai contoh ( overworld.js ) untuk menunjukkan cara menggunakan sifat adat CSS untuk melaksanakan fungsi ini.

Penyediaan

Pertama, anda perlu memastikan bahawa penyemak imbas anda menyokong API cat CSS dan sifat tersuai:

 const PaintapIsupported = "RegisterProperty" dalam window.css && "Paintworklet" dalam window.css;

Seterusnya, gunakan kaedah CSS.registerProperty untuk menentukan sifat tersuai. Ciri -ciri ini akan ditakrifkan dalam CSS dan dibaca dalam unit kerja lukisan, yang membolehkan kawalan mudah proses rendering. Unit kerja overworld.js mentakrifkan warna -warna bahagian yang berlainan dari landskap (rumput, pokok, sungai, dan lain -lain) menggunakan sifat tersuai. Nilai lalai digunakan untuk mod cahaya.

Kod pendaftaran atribut adalah seperti berikut:

 const properties = {
  "-W-Green-Green-color": {
    Sintaks: "<color> "
    InitialValue: "#58AB1D"
  },
  "-Kolor-warna-warna-warna": {
    Sintaks: "<color> "
    InitialValue: "#A15D14"
  },
  // ... sifat lain};

Object.entries (sifat) .foreach (([name, {sintaks, initialvalue}]) => {
  CSS.RegisterProperty ({
    nama,
    sintaks,
    mewarisi: palsu,
    InitialValue
  });
});

Css.paintworklet.addModule ("/worklets/overworld.js");</color></color>

Nilai awal sifat -sifat ini boleh ditulis semula apabila pengguna memilih skema warna.

Skim warna sesuai dengan pilihan pengguna

Menu Tetapan Laman Web membolehkan pengguna memilih skema warna: sistem, mod cahaya, dan mod gelap. Mod "Sistem" mengikuti tetapan sistem dark light Pembolehubah CSS digunakan untuk menukar warna:

 /* Pengguna memilih mod gelap*/
html.dark {
  --Grass-Green: #3A6B1A;
  --Kark-rock: #784517;
  // ... warna lain}

/* Keutamaan sistem adalah mod gelap*/
@media skrin dan (lebih suka-warna-skema: gelap) {
  html {
    --Grass-Green: #3A6B1A;
    --Kark-rock: #784517;
    // ... warna lain}
}

/* Pengguna memilih mod cahaya*/
html.light {
  --Grass-Green: #58AB1D;
  --Kark-rock: #A15D14;
  // ... warna lain}

/* Keutamaan sistem adalah mod cahaya*/
Skrin @media dan (lebih suka-warna-skema: cahaya) {
  html {
    --Grass-Green: #58AB1D;
    --Kark-rock: #A15D14;
    // ... warna lain}
}

Tetapkan sifat tersuai di unit kerja lukisan

Jika penyemak imbas menyokong API Cat, skrip inline di halaman memohon kelas paint-api kepada unsur-unsur.

 Skrin @Media dan (Min-lebar: 64Rem) {
  .Paint-API .Backdrop {
    imej latar belakang: cat (overworld);
    / * ... gaya lain ... */
    -W-grass-green-color: var (-rumput-hijau);
    -Kolor-warna-warna-warna: var (-gelap-rock);
    // ... sifat lain}
}

Di sini, nilai atribut tersuai unit kerja lukisan diambil dari pembolehubah CSS yang sepadan dengan keutamaan skema warna pengguna. Ini menyedari fungsi secara dinamik menyesuaikan kesan rendering unit lukisan mengikut keutamaan pengguna.

Dengan cara ini, rendering unit kerja lukisan boleh dikawal secara fleksibel, seperti menambah butiran atau telur Paskah mengikut skema warna. CSS Paint API menggabungkan ciri-ciri tersuai dan prefers-color-scheme untuk menyediakan pemaju dengan alat yang berkuasa untuk mencipta pengalaman pengguna yang dinamik dan diperibadikan.

Kehormatan lebih suka skim warna dalam API cat CSS dengan sifat tersuai

Atas ialah kandungan terperinci Kehormatan lebih suka skim warna dalam API cat CSS dengan sifat tersuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah grid CSS?Apakah grid CSS?Apr 30, 2025 pm 03:21 PM

CSS Grid adalah alat yang berkuasa untuk mewujudkan susun atur web yang rumit dan responsif. Ia memudahkan reka bentuk, meningkatkan kebolehcapaian, dan menawarkan lebih banyak kawalan daripada kaedah yang lebih lama.

Apakah CSS Flexbox?Apakah CSS Flexbox?Apr 30, 2025 pm 03:20 PM

Artikel membincangkan CSS Flexbox, kaedah susun atur untuk penjajaran yang cekap dan pengedaran ruang dalam reka bentuk responsif. Ia menerangkan penggunaan Flexbox, membandingkannya dengan grid CSS, dan butiran sokongan penyemak imbas.

Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Apr 30, 2025 pm 03:19 PM

Artikel ini membincangkan teknik untuk membuat laman web responsif menggunakan CSS, termasuk tag Meta Viewport, grid fleksibel, media cecair, pertanyaan media, dan unit relatif. Ia juga meliputi menggunakan grid CSS dan Flexbox bersama -sama dan mengesyorkan rangka kerja CSS

Apakah harta saiz kotak CSS?Apakah harta saiz kotak CSS?Apr 30, 2025 pm 03:18 PM

Artikel ini membincangkan harta saiz kotak CSS, yang mengawal bagaimana dimensi elemen dikira. Ia menerangkan nilai seperti kotak kandungan, kotak sempadan, dan kotak padding, dan kesannya terhadap reka bentuk susun atur dan penjajaran bentuk.

Bagaimanakah kita boleh menghidupkan CSS?Bagaimanakah kita boleh menghidupkan CSS?Apr 30, 2025 pm 03:17 PM

Artikel membincangkan membuat animasi menggunakan CSS, sifat utama, dan menggabungkan dengan JavaScript. Isu utama adalah keserasian penyemak imbas.

Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Apr 30, 2025 pm 03:16 PM

Artikel membincangkan menggunakan CSS untuk transformasi 3D, sifat utama, keserasian penyemak imbas, dan pertimbangan prestasi untuk projek web. (Kira -kira aksara: 159)

Bagaimana kita boleh menambah kecerunan dalam CSS?Bagaimana kita boleh menambah kecerunan dalam CSS?Apr 30, 2025 pm 03:15 PM

Artikel ini membincangkan menggunakan kecerunan CSS (linear, radial, mengulangi) untuk meningkatkan visual laman web, menambah kedalaman, fokus, dan estetika moden.

Apakah unsur-unsur pseudo dalam CSS?Apakah unsur-unsur pseudo dalam CSS?Apr 30, 2025 pm 03:14 PM

Artikel membincangkan unsur-unsur pseudo dalam CSS, penggunaannya dalam meningkatkan gaya HTML, dan perbezaan dari kelas pseudo. Menyediakan contoh praktikal.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod