Sven Rautenberg: Klassen vererben

Beitrag lesen

Moin!

ich habe eine Klasse für einen <TD> festgelegt. Diese Klasse möchte ich in einer neuen Klasse aber weiter vererben:

<style>
td.eins { background-color:red; font-size:8pt; }
td.eins td.zwei { font-size:12pt; }
</style>

...
<table>
<tr>
<td class="eins">Hintergrund rot, font 8pt</td><td class="zwei">Hintergrund auch rot, aber font 12pt</td>
</tr>
</table>

Gewöhnlicherweise kann man in CSS zuerst allgemeine Definitionen machen, und diese dann durch konkretere Definitionen ergänzen und ersetzen. In deinem Fall:

Wenn du für td allgemein die Hintergrundfarbe definierst, und für td.eins und td.zwei unterschiedliche Schriftgrößen, kriegst du genau den gewünschten Effekt.

Nachteil: Andere TDs ohne Klasse werden auch beeinflußt.

Die Verschachtelung von Elementen, wie von Stefan vorgeschlagen, funktioniert natürlich auch und hätte diesen Nachteil nicht.

Und zu guter letzt: Warum nicht die Hintergrundfarbe doppelt definieren? Ist zwar dann keine Vererbung mehr, aber funktioniert ohne Eingriffe in den HTML-Text. :)

- Sven Rautenberg