Spezifität begreifen

Während der Arbeit mit CSS-Dateien kommt man unweigerlich irgendwann in die Situation, daß man eine allgemeine Regel überschreiben will oder eine spezielle Regel in einem noch spezielleren Fall anders regeln will. Das Zauberwort heißt in diesem Fall “Spezifität”.

Über Twitter las ich von einem neuen “Cheatsheet” für Spezifität. Das ist nüchtern und faßt die Systematik kompakt zusammen. Aber es erklärt wenig und es ist nicht sexy. Ergänzend zu dem Cheatsheet empfehle ich deshalb den Artikel von Jonathan Snook und für die Pokerspieler unter meinen Lesern den Artikel mit Analogien zum Poker.

Am allerliebsten empfehle ich allerdings den Artikel von Andy Clarke und vor allem das ihm beigefügte Schema. Andy hat zur Erklärung Figuren aus Star Wars zur Erläuterung genutzt. “Specifity Wars” ist ein echter Geniestreich. So macht Lernen Spaß!

3 Kommentare zu “Spezifität begreifen”

  1. Jens sagt:

    Hallo,

    gibt es einen Zusammenhang zwischen Spezifität und Geschwindigkeit/Performance bei der Anzeige?

    Beste Grüße
    Jens

  2. Ingo Chao sagt:

    @Jens. Nicht direkt. Spezifischer bedeutet an sich nicht: schneller/langsamer. Aber: wenn man überall über-spezifiziert, obwohl es gar nicht notwendig wäre, erzeugt man eine Lawine von Über-Spezifizierungen. Damit wird das CSS-File lang, sehr lang. Und damit schwer und langsam.

  3. Jens Grochtdreis sagt:

    @Jens: Man sollte annehmen, daß alles schneller geht, wenn man eine höhere Spezifität einträgt. Denn schießlich findet der Parser dann die gewünschten Objekte schneller. Das wird aber im Normalfall nach hinten losgehen. Vielleicht nicht beim normalen Bloglayout. Die sind simpel. Aber je komplizierter die Dinger werden, desto mehr spezifische Selektoren würdest Du benötigen. Das willst Du wirklich nicht.