Heim >Web-Frontend >js-Tutorial >Wie formatiere ich CSS-Pseudoelemente dynamisch mit JavaScript?

Wie formatiere ich CSS-Pseudoelemente dynamisch mit JavaScript?

Susan Sarandon
Susan SarandonOriginal
2024-11-15 20:40:02591Durchsuche

How to Dynamically Style CSS Pseudo-Elements with JavaScript?

Dynamisches CSS-Pseudoelement-Styling mit JavaScript

Ist es möglich, CSS-Pseudoelement-Stile mit JavaScript zu ändern? Beispielsweise können Sie die Farbe der Bildlaufleiste dynamisch anpassen oder ausblenden. Versuche, dies mit diesen Skripten zu tun, haben jedoch zu einem „TypeError: Cannot read property ‚style‘ of null“ geführt.

LÖSUNG: Einführung von CSS-Variablen

While Da die browserübergreifende Interoperabilität möglicherweise keine Priorität hat, bietet die Verwendung von CSS-Variablen (CSS Vars) eine effektive Lösung in WebKit-Browsern. Mit dieser Methode können Sie Variablen in CSS deklarieren und sie mithilfe von JavaScript dynamisch ändern.

Definieren Sie in Ihrem CSS die Hintergrundfarbe der Bildlaufleiste als Variable:

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

Dann formatieren Sie den Bildlaufleisten-Daumen Verwenden der Variablen:

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

In JavaScript können Sie den Variablenwert im #Editor ändern Element:

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

Mit diesem Ansatz können Sie die Farbe der Bildlaufleiste dynamisch ändern, ohne direkt auf den Stil des Pseudoelements zuzugreifen, wodurch das „TypeError“-Problem vermieden wird.

Weitere Beispiele finden Sie unter diese Ressource zur CSS-Variablenmanipulation mit JavaScript: https://eager.io/blog/communicating-between-javascript-and-css-with-css-variables/

Das obige ist der detaillierte Inhalt vonWie formatiere ich CSS-Pseudoelemente dynamisch mit JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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