Zum Inhalt springen

Spezifität (Specificity)

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 18.10.2026

Die Spezifität entscheidet, welcher von mehreren Selektoren gewinnt. Sie ist kein Punktestand, sondern ein Vergleich in drei Spalten.

Spezifität (Specificity)

Gewicht eines Selektors, mit dem der Browser entscheidet, welche von mehreren Regeln für ein Element gilt.
Beispiel: „Die Spezifität wird nicht addiert, sondern spaltenweise verglichen.“

Drei Spalten

Drei Selektoren in einer Tabelle mit den Spalten ID, Klasse und Typ; der ID-Selektor hat eine Eins in der ersten Spalte, die anderen Nullen dort.
Verglichen wird von links nach rechts: Erst bei Gleichstand in der linken Spalte zählt die nächste.

MDN beschreibt den Wert als a three-column value of three categories or weights - ID, CLASS, and TYPE. Eine ID zählt 1-0-0, eine Klasse, ein Attributselektor oder eine Pseudoklasse 0-1-0, ein Element oder Pseudoelement 0-0-1.

Verglichen wird von links: The selector with the greater value in the ID column wins no matter what the values are in the other columns. Vier Klassen verlieren also gegen eine einzige ID.

Was nicht zählt

Der Universalselektor und :where() zählen nichts, Kombinatoren wie der Pfeil erhöhen den Wert nicht. Bei vollständigem Gleichstand gewinnt die zuletzt notierte Regel.

Was folgt daraus

Flache Selektoren halten ein Stylesheet beweglich. Wer mit IDs gestaltet, baut sich Regeln, die sich später nur noch mit !important korrigieren lassen, und das ist der Anfang eines Wettrüstens.

Siehe auch:

Kaskade (Cascade)

Das Verfahren, mit dem aus widersprüchlichen Regeln eine wird.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

Selektor (CSS)

Bestimmt, für welche Elemente eine Regel gilt.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

!important

Stellt eine Deklaration über fast alles andere.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

Inline-Styles

Gestaltung direkt am Element, mit dem höchsten Vorrang.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

Klasse (Class) (CSS)

Ein frei vergebener Name, über den sich Elemente ansprechen lassen.

#Frontend-Entwicklung (HTML, CSS, JavaScript)