Frage Wie ändere ich den CSS-Pseudoklassenstil mit js? Aber js hat keinen Pseudoklassenselektor. Was sollen wir also tun? Im Internet gibt es zahlreiche Methoden, wie etwa das Wechseln von Elementklassen, das dynamische Einfügen neuer Stile in Stile usw. Hier ist eine andere Methode, die darin besteht, die CSS-Variable (var) festzulegen und diese Variable über JS zu ändern, um dies zu erreichen. Beispiel: Ändern der Hover-Hintergrundfarbe eines Div <!-- css --> <style type="text/css"> :Wurzel { --divHoverColor: rot; } div { Breite: 100px; Höhe: 100px; Hintergrund: Biskuitporzellan; } div:hover { Hintergrund: var(--divHoverColor); } </Stil> <!-- html --> <div beiKlick="onDivClick('grün')"/> <!-- js --> <Skripttyp="text/javascript"> Funktion onDivClick(Wert){ document.documentElement.style.setProperty('--divHoverColor', Wert); } </Skript> Lernen wir also CSS-Variablen kennen. 1. Grundlegende Verwendung Lokale Variablen div { --masterColor: rot; Hintergrund: var(--masterColor); } Globale Variablen /* Bei HTML bezieht sich :root auf das <html>-Element*/ :Wurzel { --masterColor: rot; } div { Hintergrund: var(--masterColor); } 2. Syntax var( <Name der benutzerdefinierten Eigenschaft> [, <Deklarationswert> ]? ) <custom-property-name> : Name der benutzerdefinierten Eigenschaft <declaration-value> : Deklarationswert (Fallback-Wert) Beispiel: div { /* --masterColor ist nicht definiert, daher ist die Hintergrundfarbe rot Es können mehrere durch Kommas getrennte Deklarationswerte definiert werden, var(--masterColor, red, green) */ Hintergrund: var(--masterColor, rot); } Auf Variablen kann mit var() verwiesen werden. Beispiel: div { --masterColor: rot; --bgColor:var(--masterColor) } Hinweis: Variablen können nicht in Attributnamen verwendet werden. Fehlerbeispiel: div { --bg: Hintergrund; var(--bg): rot; } 3. Browser-Unterstützung Kann ich Verwenden der @support-Erkennung @supports ( (--masterColor: rot)) { /* unterstützt */ } @supports ( nicht (--masterColor: rot)) { /* nicht unterstützt */ } Verwenden der JS-Erkennung const isSupported = window.CSS && window.CSS.supports && window.CSS.supports('--masterColor', 'rot'); if (wird unterstützt) { /* unterstützt */ } anders { /* nicht unterstützt */ } siehe MDN Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
<<: HTML-, CSS- und JS-Kompatibilitätsbaum (IE, Firefox, Chrome)
>>: Vorteile und Nachteile des MySQL Advanced Learning Index sowie Nutzungsregeln
Inhaltsverzeichnis 1. Arrays zusammenführen 2. Ar...
1. Erstellen Sie einen Ordner zum Speichern von N...
Inhaltsverzeichnis Bereitstellung mehrerer Anwend...
Einfach ausgedrückt lautet die IP der als Lager v...
Die Tabelle sieht wie folgt aus: HTML-Quellcode E...
Zunächst die Struktur innerhalb des Nginx-Contain...
Nach der Umstellung vom Schreibstil von Vue2 auf ...
In diesem Artikelbeispiel wird der spezifische Co...
Durch die Verwendung von Dockerfile können Benutz...
Das mit CLI3 erstellte Vue-Projekt wird als Nullk...
yum schnelle MySQL-Installation Yum-Repository hi...
Inhaltsverzeichnis 1. Systeminformationen 2. Shut...
Inhaltsverzeichnis Bilderfassung durch SVG CSS-Te...
1. Komplexe SQL-Abfragen 1.1. Einzeltabellenabfra...
Was ist Lastenausgleich? Der Lastausgleich wird h...