Rumah >hujung hadapan web >tutorial css >Bagaimanakah JavaScript Boleh Menyesuaikan Elemen Pseudo CSS Secara Dinamik seperti Bar Skrol?

Bagaimanakah JavaScript Boleh Menyesuaikan Elemen Pseudo CSS Secara Dinamik seperti Bar Skrol?

DDD
DDDasal
2024-12-19 12:17:13650semak imbas

How Can JavaScript Dynamically Customize CSS Pseudo-Elements like Scrollbars?

Menyesuaikan Unsur Pseudo CSS Secara Dinamik dengan JavaScript

Ramai pembangun menghadapi cabaran untuk mengubah gaya elemen pseudo CSS secara dinamik menggunakan JavaScript. Soalan ini meneroka kemungkinan mengubah suai rupa dan tingkah laku elemen seperti bar skrol melalui skrip JavaScript.

Menukar Warna dan Keterlihatan Bar Skrol

Soalan menunjukkan dua skrip percubaan untuk mengubah suai warna dan keterlihatan bar skrol:

document.querySelector("#editor::-webkit-scrollbar-thumb:vertical").style.background = localStorage.getItem("Color");
document.querySelector("#editor::-webkit-scrollbar").style.visibility = "hidden";

Walau bagaimanapun, ini skrip menghadapi masalah dengan keserasian merentas penyemak imbas dan mengembalikan ralat disebabkan oleh nilai nol elemen yang dipilih.

Pelaksanaan Penyemak Imbas Rentas dengan CSS Vars

Sementara keserasian penyemak imbas boleh menjadi kebimbangan, jawapannya mencadangkan penyelesaian menggunakan Pembolehubah CSS (CSS Vars). CSS Vars membenarkan pengubahsuaian dinamik sifat CSS melalui JavaScript.

Dengan mentakrifkan pembolehubah CSS untuk latar belakang bar skrol dan menggunakannya dalam peraturan elemen pseudo, kita boleh menukar warna bar skrol menggunakan JavaScript:

CSS:

#editor {
  --scrollbar-background: #ccc;
}

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

JavaScript:

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

Pendekatan ini membolehkan pengubahsuaian dinamik warna bar skrol tanpa mengira had penyemak imbas.

Atas ialah kandungan terperinci Bagaimanakah JavaScript Boleh Menyesuaikan Elemen Pseudo CSS Secara Dinamik seperti Bar Skrol?. 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