Sven Rautenberg: Erben von anderen Formaten

Beitrag lesen

Moin!

<style type="text/css">
  <!--
 .xyz -> .abc { color: #000000; }
  -->
</style>

Weiß da jemand mehr?

Eine Vererbung in deinem Sinne gibt es bei CSS nicht.

Du hast zwei Optionen:

.abc, .xyz {
 /* viele Definitionen */
}

.xyz {
  color:anders;
}

Das definiert parallel .abc und .xyz, und ändert hinterher einzelne Dinge nochmal ab. Ist absolut erlaubt, auch wenn der CSS-Validator zur Sicherheit eine Warnung von sich gibt.

Alternativ (für den Validator):
.abc, .xyz {
 /* viele Definitionen, aber nicht color */
}
.abc {
  color:diese;
}
.xyz {
  color:anders;
}

Und außerdem kannst du in einer Klassenangabe mehr als eine Klasse benutzen:

.abc {
 /* viele Definitionen */
  color:diese;
}
.xyz {
  color:jene;
}

<span class="abc xyz">Text</span>
Das sollte _eigentlich_ dazu führen, dass der Text mit den Definitionen aus .abc formatiert, aber mit der danach noch definierten Klasse xyz eingefärbt wird.

Funktioniert aber mindestens nicht in Netscape 4 (der kann keine zwei Klassen).

- Sven Rautenberg