CSS-Rangfolge: Warum Inline-Stile überschrieben werden
In CSS werden Stile auf Elemente basierend auf der Rangfolge ihrer Regeln angewendet. Wenn mehrere Regeln auf dasselbe Element abzielen, wird diejenige mit der höchsten Priorität wirksam.
Im bereitgestellten Beispiel haben Sie einen Inline-Stil, der padding-left: 10px für td-Elemente in einer Tabelle mit der rechten Spalte festlegt AUSWEIS. Allerdings setzt ein Stil aus einem referenzierten Stylesheet den Rand und den Abstand für alle Elemente innerhalb der .rightColumn-Klasse auf 0. Das Problem besteht darin, dass die Stile aus dem referenzierten Stylesheet eine höhere Priorität haben, was dazu führt, dass die Inline-Stile überschrieben werden.
Berechnung der Spezifität
Die CSS-Priorität wird durch die Spezifität von bestimmt Regeln. Die Spezifität wird anhand der folgenden Kriterien berechnet:
Zum Beispiel hat eine Regel mit dem Selektor .rightColumn * eine Spezifität von 0010 (a = 0, b = 0, c = 1, d = 0), während eine Regel mit dem Selektor td hat eine Spezifität von 0001 (a = 0, b = 0, c = 0, d = 1). Da 0010 größer als 0001 ist, hat die Regel aus dem referenzierten Stylesheet höhere Priorität.
Problem lösen
Um dieses Problem zu beheben und die Inline-Stile anzuwenden, müssen Sie Folgendes tun zwei Optionen:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3