Wichtige Fakten
- Kategorie
- Entwicklung & Web
- Eingabetypen
- textarea
- Ausgabetyp
- html
- Sample-Abdeckung
- 4
- API verfügbar
- Yes
Überblick
Der CSS-Selektor-Spezifitätsrechner analysiert Ihre CSS-Selektoren und berechnet deren Gewichtung basierend auf IDs, Klassen und Elementen, um Rangfolge-Konflikte in Stylesheets präzise aufzulösen.
Wann verwenden
- •Wenn CSS-Regeln nicht wie erwartet angewendet werden und Kaskaden-Konflikte vermutet werden.
- •Vor einem Refactoring von Stylesheets, um komplexe Selektoren durch flachere Hierarchien zu ersetzen.
- •Zur Überprüfung der Priorität von Drittanbieter-Bibliotheken gegenüber eigenen CSS-Definitionen.
So funktioniert es
- •Geben Sie einen oder mehrere CSS-Selektoren zeilenweise in das Eingabefeld ein.
- •Das Tool zerlegt jeden Selektor in seine Bestandteile wie IDs, Klassen, Attribute und Elemente.
- •Die Spezifitätswerte (a, b, c) werden nach W3C-Standard berechnet und grafisch gegenübergestellt.
- •Sie erhalten Hinweise zur Priorität und Vorschläge, wie Sie unnötig hohe Spezifität reduzieren können.
Anwendungsfälle
Beispiele
1. Refactoring von Legacy-CSS
Frontend-Entwickler- Hintergrund
- Ein altes Projekt nutzt extrem spezifische Selektoren mit IDs, was das Überschreiben von Stilen in neuen Komponenten erschwert.
- Problem
- Identifikation von Selektoren mit zu hoher Spezifität, um sie durch wartbare Klassen-Kombinationen zu ersetzen.
- Verwendung
- Kopieren Sie die problematischen Selektoren wie '#header .nav ul li.active' in den Rechner.
- Beispielkonfiguration
-
.card .title #app .sidebar a:hover - Ergebnis
- Das Tool zeigt eine Spezifität von (1, 2, 2) an und empfiehlt die Reduzierung der ID-Abhängigkeit für bessere Modularität.
2. Konfliktlösung bei UI-Bibliotheken
Webdesigner- Hintergrund
- Eigene Button-Stile werden ständig von den Standard-Stilen eines Frameworks wie Bootstrap überschrieben.
- Problem
- Herausfinden, wie spezifisch der eigene Selektor sein muss, um das Framework ohne !important zu übertreffen.
- Verwendung
- Geben Sie den Framework-Selektor und Ihren eigenen Selektor ein, um die Differenz zu sehen.
- Beispielkonfiguration
-
button.primary:is(:hover,:focus) - Ergebnis
- Sie sehen sofort, dass eine zusätzliche Klasse oder ein Attribut-Selektor ausreicht, um die Priorität korrekt zu erhöhen.
Mit Samples testen
developmentFAQ
Was bedeuten die drei Zahlen (a, b, c) im Ergebnis?
Sie repräsentieren die Anzahl der IDs (a), Klassen/Attribute/Pseudoklassen (b) und Elemente/Pseudoelemente (c).
Wird die !important-Regel bei der Berechnung berücksichtigt?
Nein, !important ist kein Teil der Selektor-Spezifität, sondern eine Deklaration, die die normale Kaskade überschreibt.
Wie werden Pseudoklassen wie :is() oder :not() gewertet?
Die Pseudoklassen selbst zählen nicht, aber der spezifischste Selektor innerhalb ihrer Argumente wird für die Berechnung herangezogen.
Kann ich mehrere Selektoren gleichzeitig vergleichen?
Ja, das Tool erlaubt die Eingabe mehrerer Selektoren, um deren Prioritäten direkt in einer Übersicht zu vergleichen.
Warum gewinnt ein Selektor mit einer ID immer gegen Klassen?
In der CSS-Hierarchie hat die ID-Spalte (a) eine höhere Wertigkeit als die Spalte für Klassen (b), unabhängig von der Anzahl der Klassen.