2009-08-09 19 views
9

Sagen wir, ich möchte 2 Stile definieren.CSS-Style-Vererbung

Gibt es eine Möglichkeit, dass ich den Stil h1 den color_red Stil erben kann? Ich will nicht

<div class="banner color_red">This is my banner.</div> 

ich zu tun haben, würde es vorziehen, um so etwas zu tun ...

.banner { ... inherit: color_red; } 
... 
<div class="banner">This is my banner.</div> 

Und habe das Banner rot Text hat.

+0

nicht ohne Verdienst entweder ... – annakata

+0

Sie in hss aussehen: http://ncannasse.fr/projects/hss – Dykam

Antwort

19

Sie haben zu schreiben:

 
.color_red, .banner { color: Red; } 
.banner { display: block; width: 100%; } 
+0

Dies ist das nächste, was ich mir vorstellen konnte. Ich denke, ich muss die Dinge so machen. –

16

Nein, es gibt keine Möglichkeit dies direkt zu tun, besser Formatdefinitionen zu teilen:

.color_red, 
.banner 
{ 
    color: red; 
} 

aber ich, dass Sie darauf hinweisen, möchte Ich nähere mich dem Problem aus der falschen Richtung. Ihr Aufschlag sollte unabhängig vom Stil sein und sollte den Stil in der Entwicklung ideal führen. Dies bedeutet, dass die Definition von .color_red ein ernstes Problem ist, weil es nichts über die Semantik des Aufschlags aussagt und wie groß das Problem ist, mit dem Sie konfrontiert werden, wenn Sie dieses bisschen Aufschlagblau stylen müssen?

Weit besser Ihr Aufschlag zu ermöglichen, wie dies zu existieren:

<div class="banner highlight">I am a banner AND I am highlighted!</div> 

unterstützt von:

<style> 
.highlight 
{ 
    color: red; 
} 

.banner 
{ 
    display: block; 
    width: 100%; 
} 
</style> 
+1

Ich wollte, dass dies das Templating von Farben ermöglicht. Wie eine dunkle Farbe 1 usw. Mein Beispiel verwendet zur Vereinfachung explizite Farben. Ich habe versucht, den gleichen Effekt wie partielle Klassen in C# zu erreichen. –