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!