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 Same Origin-Richtlinie für Bro...
CSS-Viewport-Einheiten gibt es schon seit einigen...
Dieser Artikel enthält hauptsächlich Lösungen für...
Grafisches Tutorial zur Installation und Konfigur...
In diesem Artikel wird der spezifische JavaScript...
Es gibt in letzter Zeit zu viel Wissen zu lernen,...
In MySQL kann das Problem der Groß- und Kleinschr...
In diesem Artikel wird der spezifische JavaScript...
Inhaltsverzeichnis 1. Übersicht 2. Digitale Aufzä...
1. Einführung in MariaDB und MySQL 1. Einführung ...
Inhaltsverzeichnis 1. Einleitung: In diesem Fall ...
Das Betriebssystem Win10 MySQL ist die 64-Bit-ZIP...
nginx (Engine x) ist ein leistungsstarker HTTP- u...
erster Schritt Einmaliges Löschen mit der integri...
Mit dem obigen Artikel habe ich meine Einführung i...