Moin!
scheint so als hätte ichs nicht verstanden :)
Nee doch. War schon genau richtig so, ich habe es jetzt so gemacht (generelle Farbe für class=tbln für tabellen rausgenommen und neue klasse für normale td's ausser dat eine [..doofe ding])
hat auch gar nicht weh getan :/
Naja, vermutlich hat es doch weh getan, weil du die Klasse (einmal) aus der Table entfernt hast, um sie dann in alle existierenden TDs einzufügen.
Das ist ziemlich umständlich, der einfachere Weg wäre gewesen, die Macht von CSS zu nutzen, und folgendes zu tun:
<table class="tbln">
<tr>
<td>Mit Hintergrund</td>
<td class="ohne">ohne Hintergrund</td>
</tr>
</table>
Also ganz simpel nur DIE Zelle mit der Extraklasse versehen, die sich von allen anderen abheben soll.
Und im CSS hattest du vorher:
body { background-color:white; } /* Zeile 1 */
.tbln { background-color:red; } /* Zeile 2 */
Von diesem Zustand aus wäre folgendes eine Option bei einfarbigen Hintergrundfarben:
body, td.ohne { background-color: white; } /* Zeile 1 */
anstelle der bisherigen Zeile 1.
Hat den Vorteil: Änderst du die Hintergrundfarbe für den Body, wirkt das auch direkt auf die besondere Zelle, ohne die Farbe zweimal angeben zu müssen. Solche Aufzählungen von mehreren HTML-Elementen, für die die gleichen Formatierungen gelten sollen, trennst du einfach mit dem Komma.
Dieser Trick funktioniert nicht bei Hintergrundbildern. Da mußt du den Tabellenhintergrund transparent lassen, jeder Zelle der Tabelle einen farbigen Hintergrund geben, und der besonderen Zelle wieder nur einen transparenten Hintergrund.
Mit demselben (!) HTML würde das in CSS so gehen:
body { background-color:white; } /* Zeile 1 */
.tbln td { background-color:red; } /* Zeile 2 */
.tbln td.ohne {background-color:transparent; } /* Zeile 3*/
Die Zeile zwei wirkt jetzt nicht mehr auf ein HTML-Element mit der Klasse "tbln", sondern auf ein HTML-Element <td>, welches sich innerhalb eines HTML-Elements mit der Klasse "tbln" befindet. Das gilt für alle TDs in deiner Tabelle - auch für die besondere Zelle.
Deshalb gibts obendrauf noch eine weitere Regel nur für diese Zelle: Ein <td> mit der Klasse "ohne", welches sich in einem HTML-Element mit der Klasse "tbln" befindet, hat transparenten Hintergrund. Dadurch scheint die Farbe oder das Bild dessen, was sich dahinter befindet, automatisch durch.
Mehr zu dieser "Selektor" genannten Angabe, auf was die CSS-Angabe wirkt, steht hier: http://de.selfhtml.org/css/formate/zentrale.htm#verschachtelte_elemente
- Sven Rautenberg
"Love your nation - respect the others."