Gunnar Bittersmann: Warum ist das CSS Styling von vielen Mobile Sites so komisch

Beitrag lesen

@@suit:

class="foo bar" sind im HTML-Kontext keine Klassen die es zu verstehen gibt

?? Aber sicher doch.

es ist lediglich ein class-Attribut mit dem wert "foo bar".

Und dieser Wert besagt, dass das entsprechende Element den Klassen "foo" und "bar" angehört.

„class = cdata-list [CS]
    Dieses Attribut ordnet einem Element einen Klassennamen oder einen Satz von Klassennamen zu. Dem- oder denselben Klassennamen kann eine beliebige Anzahl von Elementen zugeordnet werden. Multiple Klassennamen müssen durch Leerzeichen voneinander getrennt werden.“ [HTML401 §7.5.2]

Erst im CSS-Kontext gibt es Klassen

Nein. Im HTML-Kontext gibt es sehrwohl Klassen. Diese lassen sich vielfältig nutzen, z.B. für Mikroformate.

Im CSS-Kontext gibt es Attributselektoren. Für den Attributselektor '[class~="foo"]' gibt es die spezielle Schreibweise '.foo'; das nennt sich dann Klassenselektor. [CSS2 §5.1, CSS2 §5.8.3]

Live long and prosper,
Gunnar

--
Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)