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
In diesem Artikelbeispiel wird der spezifische Co...
Hier ist ein allgemeines Ein-Klick-Leistungstests...
Vorwort MRR ist die Abkürzung für Multi-Range Rea...
Ein einfaches MySQL-Vollsicherungsskript, das die...
nohup-Befehl Bei der Verwendung von Unix/Linux mö...
Vorwort Im vorherigen Artikel haben wir hauptsäch...
In Front-End-Projekten ist das Hochladen von Anhä...
Inhaltsverzeichnis Vorwort 1. Installieren Sie sc...
Diese alte Frage hat unzählige Frontend-Entwickler...
MySQL-Partitionierung ist hilfreich bei der Verwa...
Inhaltsverzeichnis 1. v-wenn 2. Verwenden Sie v-i...
1. Der CSS-Stil löst das Problem der Anzeige von ...
MySQL 8.0.12 Download- und Installations-Tutorial...
Inhaltsverzeichnis 1. Digitale Aufzählung 2. Zeic...
In diesem Artikel wird der spezifische JavaScript...