suit: Welche Zeichen sind im class-Attribut erlaubt?

Beitrag lesen

Wo kann man denn wirklich mit Problemen rechnen (bei Umlauten hatte ich bislang z.B. keine)? Und wo wir gerade dabei sind: wie sieht's denn mit IDs aus?

Bei umlauten könnetst du mit Multibyte-Zeichen Probleme bekommen, wenn die Zeichencodierung des HTML-Dokuments nicht mit der des CSS-Dokuments übereinstimmt.

Bei Groß- und Kleinschreibung kanns unter umständen Probleme geben, da Klassen zwar case-sensitive sind, aber der Internet Explorer in älteren Version bei CSS-Selektoren diesbezüglich gern mal ein Auge zudrückt.

Auf der sicheren Seite ist man wie immer, wenn man sich auf einen einfache Zeichenauswahl a-z 0-9 sowie konsequente Kleinschreibung beschränkt - das hat den Vorteil, dass man wenig nachdenken muss, wann man wo wie was geschrieben hat.

Bez. IDs sind die Regeln strenger als bei Klassen:
http://www.w3.org/TR/1999/REC-html401-19991224/types.html#type-cdata

'ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").'

Dennoch würde ich auch hier z.B. auf Punkte nud Doppelpunkte verzichten, ansonsten wirds im CSS ggf. etwas verwirrend mit dem Escaping

<div id="foo:before"></div>

würde man mit #foo\:before selektieren, #foo:before ist etwas anderes.