Heim > Web-Frontend > CSS-Tutorial > Wie kann ich CSS-Pseudoelementstile mithilfe von JavaScript dynamisch ändern?

Wie kann ich CSS-Pseudoelementstile mithilfe von JavaScript dynamisch ändern?

Linda Hamilton
Freigeben: 2024-12-24 07:09:15
Original
691 Leute haben es durchsucht

How Can I Dynamically Change CSS Pseudo-Element Styles Using JavaScript?

CSS-Pseudoelementstile dynamisch über JavaScript manipulieren

Beim Versuch, CSS-Pseudoelementstile über JavaScript dynamisch zu ändern, können Benutzer auf das stoßen Fehler „Uncaught TypeError: Die Eigenschaft „style“ von null kann nicht gelesen werden.“ In diesem Artikel wird ein alternativer Ansatz untersucht, der CSS-Variablen nutzt, um insbesondere in WebKit-Browsern eine browserübergreifende Kompatibilität zu erreichen.

CSS-Variablenbasierter Ansatz

Definieren Sie in CSS eine CSS-Variable für die Hintergrundfarbe der Bildlaufleiste:

#editor {
  --scrollbar-background: #ccc;
}
Nach dem Login kopieren

Anschließend wenden Sie die Variable auf die Bildlaufleiste an Pseudoelement:

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

JavaScript-Manipulation

Setzen Sie in JavaScript die CSS-Variable auf das #editor-Element:

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

Dies Die Methode ermöglicht eine dynamische Manipulation der Hintergrundfarbe der Bildlaufleiste, selbst in älteren Browsern, die keine modernen CSS-Funktionen unterstützen.

Das obige ist der detaillierte Inhalt vonWie kann ich CSS-Pseudoelementstile mithilfe von JavaScript dynamisch ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage