Klassen können ja im Vergleich zu IDs mehrfach vergeben werden. So geschieht das auch in TYPOlight. Z.B die Klasse .block wirst du bei vielen Elementen wiederfinden. Und hier liegt auch schon der Vorteil der Mehrfachvergabe von Klassen: die Modularität. Du definierst in deinem Stylesheet einmal die Klasse .block { overflow: hidden; } und kannst sie auf alle Elemente anwenden, die diese Overflow-Eigenschaft besitzen sollen. Möchtest du außerdem, dass das Login einspaltig sein soll, so wird zudem noch die Klasse .one_column vergeben, usw. Das Gute daran ist, dass man so nicht für jedes Element eine neue Definition ins Stylesheet schreiben muss und die Datei größer und größer wird sowie die Webseite immer langsamer und langsamer.
Diese Definition .mod_login.block {margin-bottom:30px;} – man beachte: kein Leerzeichen zwischen den Selektoren – macht in meinen Augen wenig Sinn (genau wie generell alle Verkettungen). Würde man stattdessen .mod_login .block {margin-bottom:30px;} – hier nun mit Leerzeichen – benutzen, so würde es bedeuten, dass nur die Klasse .block innerhalb des Elements mit der Klasse .mod_login angesprochen würde. Andere Elemente mit .block würden davon nicht betroffen sein. Der springende Punkt ist wie gesagt das Leerzeichen! Für den IE6 solltest du die Selektoren nicht ohne LZ verketten, sondern reihe sie mit LZ aneinander. Oder anders ausgedrückt, gib ihnen eine Hierarchie.
Ein zugegeben nicht sehr sinnvolles Beispiel könnte so aussehen (bitte nicht nutzen, soll nur zum Verdeutlichen sein):
Code:
html body .mod_navigation ul li a { color: #f00; }
Kürzer könnte man es auch so schreiben:
Code:
.mod_navigation a { color: #f00; }
In beiden Fällen bekommt das <a>-Tag, also der Link, innerhalb des Navigationsmoduls eine Farbe. Im ersten Fall wird der Link nur präziser definiert: Der Link <a> innerhalb des Listenelements <li> innerhalb der Liste <ul> innerhalb des Elements mit der Klasse .mod_navigation innerhalb von body innerhalb von html. Ich hoffe, du verstehst, worauf ich hinaus will.
Wenn es immer noch nicht ganz klar ist oder ich deine Frage nicht genau beantwortet habe, dann versuch ich es gern auch noch ein weiteres Mal.
Lesezeichen