Eine kurze Diskussion über den CSS-Kaskadierungsmechanismus

Eine kurze Diskussion über den CSS-Kaskadierungsmechanismus

Warum hat CSS einen Kaskadierungsmechanismus?

Da es in CSS mehrere Stile geben kann, die gleichzeitig eine bestimmte Eigenschaft desselben Elements beeinflussen, kann der Kaskadierungsmechanismus Stilkonflikte zwischen Autoren (Personen, die Code schreiben), Benutzern (Personen, die Seiten durchsuchen) und Benutzeragenten (im Allgemeinen Browsern) lösen.

Jede Stilregel in der Kaskade hat einen Gewichtungswert. Wenn mehrere dieser Regeln gleichzeitig gelten, hat die Regel mit der höchsten Gewichtung Vorrang. Im Allgemeinen ist der vom Autor angegebene Stilgewichtungswert höher als der Benutzerstilgewichtungswert und der Benutzerstilgewichtungswert ist höher als der Client- (Benutzeragent-)Gewichtungswert. Genereller Gewichtswert und Objekt, ob vorhanden! wichtig, die Spezifität hängt mit der Position zusammen. In der Stapelreihenfolge sind die folgenden Gewichtswerte von klein nach groß

(1) Benutzeragent-Stil

(2) Allgemeiner Benutzerstil

(3) Allgemeiner Stil des Autors

(4) Autor wichtiger Stil (!important)

(5) Benutzerwichtige Stile (!important)

(6) Wenn zwei Stile aus demselben Code stammen, z. B. beide vom Autor (Code) stammen, und ihre Stildeklarationen gleich wichtig sind, werden sie auf Grundlage ihrer Spezifität berechnet und der Stil mit der höheren Spezifität überschreibt den mit der niedrigeren Spezifität.

(7) Bei gleicher Spezifität ist die Priorität umso höher, je neuer der Stil ist.

Warum haben wichtige, von Benutzern festgelegte Stile eine höhere Priorität als wichtige, von Autoren festgelegte Stile? Der Grund hierfür besteht darin, dass es Benutzern erleichtert werden soll, bestimmte spezielle Anforderungen zu erfüllen, z. B. die Anpassung der Seitenschriftgröße.

Berechnung der Selektorspezifität

(1) Wenn eine Deklaration im Style-Attribut eines Elements erscheint, wird a als 1 gezählt;

(2) b ist gleich der Summe der Anzahl aller ID-Selektoren im Selektor

(3) c ist gleich der Summe aller Klassenselektoren, Attributselektoren und Pseudoklassenselektoren im Selektor.

(4) d ist gleich der Summe aller Tag-Selektoren und Pseudoelement-Selektoren im Selektor.

abcd ist die Spezifität des Selektors. Die Vergleichsreihenfolge beginnt bei a, und je größer, desto höher die Priorität.

Beachten:

  1. Vererbt hat die niedrigste Priorität und keine Spezifität
  2. Die Spezifität des Combiners (wie +, >) und des Universalselektors (*) beträgt 0
.box{} /*Spezifität=0,0,1,0*/
.box div{} /*Spezifität=0,0,1,1*/
#nav li{} /*Spezifität=0, 1, 0, 1*/
p:first-line{} /*Spezifität=0,0,0,2*/
style="" /*Spezifität=1,0,0,0*/

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.

<<:  Analyse und Lösung eines Fehlalarmproblems bei der langsamen MySQL-Protokollüberwachung

>>:  Tutorial zu HTML-Formular-Tags (3): Eingabe-Tag

Artikel empfehlen

Implementierung von Socket-Optionen in der Linux-Netzwerkprogrammierung

Socket-Optionsfunktion Funktion: Methoden zum Les...

MySQL verwendet Aggregatfunktionen zum Abfragen einer einzelnen Tabelle

Aggregatfunktionen Wirkt auf einen Datensatz ein ...

Einfaches Setup von VMware ESXi6.7 (mit Bildern und Text)

1. Einführung in VMware vSphere VMware vSphere is...

Detaillierte Erklärung zur Verwendung von Docker-Compose-Befehlen

Sie können Docker-Container auf verschiedene Arte...

Gängige Methoden zur Optimierung der Docker-Imagegröße

Die Docker-Images, die wir normalerweise erstelle...

So erstellen Sie Ihren eigenen nativen JavaScript-Router

Inhaltsverzeichnis Vorwort Einführung JavaScript ...

Diskussion über sinnvollere Erstellungsregeln für MySQL-String-Indizes

Vorwort In Bezug auf die Verwendung von MySQL-Ind...

WeChat Mini-Programm Lotterienummerngenerator

In diesem Artikel wird der spezifische Code des W...

Detaillierte Schritte zum manuellen Konfigurieren der IP-Adresse in Linux

Inhaltsverzeichnis 1. Geben Sie zuerst das Konfig...

JS implementiert das Schere-Stein-Papier-Spiel

In diesem Artikelbeispiel wird der spezifische JS...

Implementierung eines einfachen Timers basierend auf der Vue-Methode

Der einfache Timer von Vue dient Ihnen als Refere...

Beispiel für ein WeChat-Applet zum Erzielen des rotierenden Laterneneffekts

Vorwort In der täglichen Entwicklung stoßen wir h...

Wie InnoDB Transaktionsisolationsebenen geschickt implementiert

Vorwort Im vorherigen Artikel „Detaillierte Erklä...