Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menggayakan Elemen Pseudo CSS Secara Dinamik dengan JavaScript?

Bagaimana untuk Menggayakan Elemen Pseudo CSS Secara Dinamik dengan JavaScript?

Susan Sarandon
Lepaskan: 2024-11-15 20:40:02
asal
597 orang telah melayarinya

How to Dynamically Style CSS Pseudo-Elements with JavaScript?

Penggayaan Unsur Pseudo CSS Dinamik dengan JavaScript

Adakah ia boleh mengubah suai gaya elemen pseudo CSS menggunakan JavaScript? Contohnya, melaraskan warna bar skrol secara dinamik atau menyembunyikannya. Walau bagaimanapun, percubaan untuk berbuat demikian dengan skrip ini telah menghasilkan "TypeError: Tidak boleh membaca 'gaya' sifat nol."

PENYELESAIAN: Memperkenalkan Pembolehubah CSS

Semasa kesalingkendalian silang pelayar mungkin tidak menjadi keutamaan, menggunakan pembolehubah CSS (CSS Vars) menawarkan penyelesaian yang berkesan dalam pelayar WebKit. Kaedah ini membolehkan anda mengisytiharkan pembolehubah dalam CSS dan mengubah suainya secara dinamik menggunakan JavaScript.

Dalam CSS anda, tentukan warna latar belakang bar skrol sebagai pembolehubah:

#editor {
  --scrollbar-background: #ccc;
}
Salin selepas log masuk

Kemudian, gayakan ibu jari bar skrol menggunakan pembolehubah:

#editor::-webkit-scrollbar-thumb:vertical {
  /* Fallback */
  background-color: #ccc;
  /* Dynamic value */
  background-color: var(--scrollbar-background);
}
Salin selepas log masuk

Dalam JavaScript, anda boleh menukar nilai pembolehubah pada #editor elemen:

document.getElementById("#editor").style.setProperty('--scrollbar-background', localStorage.getItem("Color"));
Salin selepas log masuk

Pendekatan ini membolehkan anda mengubah suai warna bar skrol secara dinamik tanpa mengakses terus gaya elemen pseudo, dengan itu mengelakkan isu "TypeError".

Untuk contoh lanjut, rujuk sumber ini pada manipulasi pembolehubah CSS dengan JavaScript: https://eager.io/blog/communicating-between-javascript-and-css-with-css-variables/

Atas ialah kandungan terperinci Bagaimana untuk Menggayakan Elemen Pseudo CSS Secara Dinamik dengan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan