256 classes override one #id

It takes 256 classes to override one id. That’s interesting and one of the reasons I simply use just classes. What a mess.

Veröffentlicht am Mittwoch, 15. August 2012 | Kommentieren

Kommentare

  1. Looks like you doesn’t understand how CSS works. IDs refer to a unique element and every rule that is for an unique element is more specific than a rule for classes. By the way you could use an additional ID, e.g. from a wrapper element, in your selection and it will be more specific. But saying that IDs don’t make sense is absolutely stupid.

    Let’s make an example using normal language: If you say all German people are drinking beer and Max Mustermann is drinking wine and he is a German, is Max then drinking beer or wine? Note that both isn’t possible.

    In case you are looking for a documentation how browsers calculate the specificity read this document: http://www.w3.org/TR/CSS2/cascade.html

    Hope you will learn something …

  2. Hallo Martin.

    Sorry, aber ich muss den anderen hier zustimmen. Das ein Selector mit einer ID so viel stärker gewichtet wird macht absolut Sinn. Insofern ist es etwas unprofessionell zu behaupten, CSS wäre hier ein Chaos. Dass man mit 265 Klassen überhaupt die Gewichtung einer ID erreicht liegt meines Wissens nach sowieso nur an der Browserimplementierung. Kleiner Tipp: Nur weil man etwas täglich verwendet, heißt es noch lange nicht, dass man es auch vollständig verstanden hat. Also lieber was dazulernen und Fehler eingestehen, so geht es mir auch regelmäßig.

    Gruß Julian

  3. Achso, hier noch ein Codebeispiel. Ist etwas unschön und ohne konkretes Beispiel immernoch abstrakt, aber vielleicht hilft es ja das ganze zu verdeutlichen:

    .fulltext { font-size: 1.2em; text-align: left; line-spacing: 1.3em; color: #111; }

    siderow p { font-size: 0.9em; }

    Wieso sollte hier letztere Angabe, die dank ID deutlich spezifischer ist, nicht die erste überschreiben? Wenn das deiner Meinung nach alles keinen Sinn macht, dann erklär das doch mal bitte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.