class - Überschneidungen
bleibert
- css
0 MudGuard1 Alexander Brock0 bleibert
Hallo!
Wenn ich eine Tabelle habe, in der beispielsweise manche Zellen roten Hintergrund haben, und manche Zellen grüne Schrift beinhalten, kann ich das ja einfach über "class" Attribute im TD-Tag regeln. Was ist jetzt aber, wenn Zellen beide Eigenschaften haben sollen? Kann ich zweimal "class" im gleichen Tag verwenden? Ein Ausweg wäre zB mit "id" zu arbeiten, aber was ist dann bei drei oder mehr Eigenschaften? Wie handhabt man sowas am geschicktesten?
Gruß und guten Rutsch,
Dennis
Hi,
Wenn ich eine Tabelle habe, in der beispielsweise manche Zellen roten Hintergrund haben, und manche Zellen grüne Schrift beinhalten,
Beinhalten, Armhalten, Handhalten, Fußhalten
kann ich das ja einfach über "class" Attribute im TD-Tag regeln. Was ist jetzt aber, wenn Zellen beide Eigenschaften haben sollen? Kann ich zweimal "class" im gleichen Tag verwenden?
Jedes Attribut darf nur einmal vorkommen. Aber das class-Attribut enthält nicht einen Klassennamen, sondern eine Liste von Klassennamen.
cu,
Andreas
Hallo bleibert,
Man kann einem Element 2 Klassen zuordnen:
CSS:
.foo {
background-color: #f00;
}
.bar {
color: #00f;
}
HTML:
<a href="foo" class="foo bar">xyz</a>
Der Text xyz wird dann blau mit rotem Hintergrund.
Gruß
Alexander Brock
Hi Alexander,
Man kann einem Element 2 Klassen zuordnen:
Weißt Du zufällig eine Seite mit einer Übersicht, welche Browser das unterstützen?
Viele Grüße
Mathias Bigge
Hi,
Man kann einem Element 2 Klassen zuordnen:
Weißt Du zufällig eine Seite mit einer Übersicht, welche Browser das unterstützen?
Soweit ich weiß: alle außer Netscape Uralt 4.x
Selbst der IE kann das schon ;-)
cu,
Andreas
Hallo Alexander
Man kann einem Element 2 Klassen zuordnen:
...
Der Text xyz wird dann blau mit rotem Hintergrund.
Ich persönlich halte von dieser Möglichkeit nicht so sehr viel, weil sie zu
sehr dazu verführt das Aussehen im HTML auszuzeichnen, auch wenn die
eigentlichen Eigenschaften dann im CSS stehen.
Der Extremfall wäre dann, im CSS jeweils nur Einzeleigenschaften zu
definieren, und die Klassen wie Quasi-Attribute zu verwenden.
.blaubg {...
.gelbbg {...
.schriftrot {...
.schriftweiss {...
usw.
Auf Wiederlesen
Detlef
Hi,
Man kann einem Element 2 Klassen zuordnen:
Ich persönlich halte von dieser Möglichkeit nicht so sehr viel, weil sie zu
sehr dazu verführt das Aussehen im HTML auszuzeichnen, auch wenn die
eigentlichen Eigenschaften dann im CSS stehen.
Das kommt natürlich immer darauf an, wie man Klassen verwendet.
Wer schon die Klassennamen auf die (derzeitige) Formatierung reduziert (class="blau", class="bold"), wird auch Klassen derartig kombinieren.
Was aber spricht z.B. gegen Klassen-Kombinationen, die nicht auf die Formatierung reduziert sind? Wie z.B. class="Navigation AktuelleSeite"?
cu,
Andreas
Hallo Andreas
Was aber spricht z.B. gegen Klassen-Kombinationen, die nicht auf die Formatierung reduziert sind? Wie z.B. class="Navigation AktuelleSeite"?
Vielleicht habe ich den echten Nutzen dieser Möglichkeit noch nicht wirklich
verstanden.
Ich lege damit im HTML fest, dass dieses Element die Eigenschaften der
Klasse "Navigation" und die Eigenschaften der Klasse "AktuelleSeite" haben
soll. Damit spare ich mir zwar eine zusätzliche Klasse oder eine Definition
über Nachfahrenselektor, nehme mir aber wieder Flexibilität im CSS.
Ich würde, wenn die Möglichkeit über Nachfahrenselektoren nicht gegeben ist,
eher eine Klasse "NavigationAktuelleSeite" einführen. Wenn diese genau die
Eigenschaften von "Navigation" und von "AktuelleSeite" haben soll steht im
CSS dann eben ".Navigation, .NavigationAktuelleSeite {..." und
".AktuelleSeite, .NavigationAktuelleSeite {...". Ich lasse mir aber die
Möglichkeit, diese bei Bedarf auch ganz anders zu formatieren.
Auf Wiederlesen
Detlef
Hi,
Was aber spricht z.B. gegen Klassen-Kombinationen, die nicht auf die Formatierung reduziert sind? Wie z.B. class="Navigation AktuelleSeite"?
Vielleicht habe ich den echten Nutzen dieser Möglichkeit noch nicht wirklich
verstanden.
Klassifizierung.
Alles, was auf der Seite der Navigation dient, bekommt die Klasse Navigation zugewiesen.
Alles, was auf der Seite mit der aktuellen Seite zu tun hat, bekommt die Klasse AktuelleSeite.
Wenn jetzt ein Element in beide (oder auch noch mehr) Kategorien fällt, bekommt es eben beide (oder auch noch mehr) Klassen.
Ich würde, wenn die Möglichkeit über Nachfahrenselektoren nicht gegeben ist,
eher eine Klasse "NavigationAktuelleSeite" einführen.
Ich nicht.
Wenn diese genau die
Eigenschaften von "Navigation" und von "AktuelleSeite" haben soll steht im
CSS dann eben ".Navigation, .NavigationAktuelleSeite {..." und
".AktuelleSeite, .NavigationAktuelleSeite {...". Ich lasse mir aber die
Möglichkeit, diese bei Bedarf auch ganz anders zu formatieren.
Es gibt auch die Möglichkeit,
.Navigation.AktuelleSeite
als Selektor zu benutzen, wenn die Elemente, die beide Klassen besitzen, nochmal anders formatiert werden sollen, als es durch die einzelnen Klassen schon vorgegeben ist. Eine zusätzliche Klasse ist also nicht nötig - ändert aber die Klassifizierung (bei Deiner Variante ist nicht mehr alles, was Navigation ist, in der Klasse Navigation zu finden).
cu,
Andreas
Danke Andreas!
Es gibt auch die Möglichkeit,
.Navigation.AktuelleSeite
als Selektor zu benutzen, wenn die Elemente, die beide Klassen besitzen, nochmal anders formatiert werden sollen, als es durch die einzelnen Klassen schon vorgegeben ist. Eine zusätzliche Klasse ist also nicht nötig - ändert aber die Klassifizierung (bei Deiner Variante ist nicht mehr alles, was Navigation ist, in der Klasse Navigation zu finden).
Soweit habe ich bisher noch nicht gedacht.
Auf Wiederlesen
Detlef
Danke an Euch beide!!