2009-08-09 8 views
9

Disons que je veux définir 2 styles.Héritage du style CSS

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

Y a-t-il un moyen pour que le style h1 hérite du style color_red? Je ne veux pas avoir à faire

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

Je préfère faire quelque chose comme ça ...

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

et ont la bannière ont rouge.

+0

pas sans mérite non plus ... – annakata

+0

Vous pouvez regarder dans hss: http://ncannasse.fr/projects/hss – Dykam

Répondre

19

Vous devez écrire:

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

C'est la chose la plus proche que je puisse trouver. Je suppose que je vais devoir faire les choses de cette façon. –

16

Non, il n'y a aucun moyen de le faire directement, mieux partager les définitions de style:

.color_red, 
.banner 
{ 
    color: red; 
} 

Cependant, je voudrais souligner que vous approchez le problème de la mauvaise direction. Votre mark-up devrait être indépendant du style et devrait idéalement conduire le style en développement. Cela signifie que la définition de .color_red est un problème sérieux, car il ne dit rien sur la sémantique du balisage et à quel point êtes-vous confronté à un problème si vous devez styliser ce bit de balisage bleu?

Il vaut beaucoup mieux pour permettre à votre marge d'exister comme ceci:

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

soutenu par:

<style> 
.highlight 
{ 
    color: red; 
} 

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

Je voulais que cela permette de modéliser les couleurs. Tels que d'avoir une couleur foncée 1 etc. Mon exemple utilise des couleurs explicites pour la simplicité. J'essayais d'accomplir le même effet que les classes partielles en C#. –

Questions connexes