Spezifität

Ein selten blödes Wort, aber es heißt wohl tatsächlich so. Auf englisch heißt es specificity.

Aber warum alles doppelt schreiben? Hier ist's schön erklärt.

Bei Konfliktfällen bezüglich sich widersprechender Angaben entscheidet die Spezifität, ein Punktesystem.

Selektortyp Beispiel Punkte
einfacher Typ-Selektor p 1
Klasse .wichtig 10
Pseudoklasse :hover 10
ID #navi 100
Attribut style (direkt im HTML) <p style="color: red;"> 1000

Wer die meisten Punkte hat, gewinnt. Bei Gleichstand gilt, später Notiertes überschreibt Vorheriges.

Für diese Seite wurde für Absätze im Contentbereich im CSS ganz allgemein festgelegt:

#content p {
  text-align: justify;
  font-family: sans-serif;
  line-height: 1.5em;
}

Es ergibt sich also eine Spezifität von ID + einfachem Typselektor = 101.

Möchte man diese Angaben neu definieren (überschreiben), muss dies mit einer höheren Spezifität geschehen. p.klassenname (Spezifität = 11) würde nicht reichen, daher mindestens #content p.klassenname (Spezifität = 111).

!important

Um also den folgenden Text rechtsbündig am nach rechts gefloateten Bild auszurichten, braucht man eine Spezifität > 101 oder den Zusatz !important.

Hund in Schüssel

.bild_rechts {
  float: right;
  margin-left: 10px;
  margin-bottom: 10px;
}
.text_rechts {
  text-align: right !important;
  font-style: italic;
}

Ich hoffe, diese Kurzeinweisung, geschrieben nachts um 1 Uhr, genügt erst einmal, um Sie vollends zu verwirren...