2009-08-09 21 views
9

Digamos que quiero definir 2 estilos.CSS Style Herencia

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

¿Hay alguna manera de que pueda tener el estilo h1 heredar el estilo color_red? Yo no quiero tener que hacer

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

preferiría hacer algo como esto ...

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

Y tener la bandera tiene texto rojo.

+0

carecen de fundamento, ya sea ... – annakata

+0

Se podría buscar en HSS: http://ncannasse.fr/projects/hss – Dykam

Respuesta

19

usted tiene que escribir:

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

Esto es lo más cercano que podría ocurrir también. Creo que tendré que hacer las cosas de esta manera. –

16

No, no hay manera de hacer esto directamente, mejor compartir definiciones de estilo:

.color_red, 
.banner 
{ 
    color: red; 
} 

Sin embargo, me gustaría señalar que Estamos abordando el problema desde la dirección equivocada. Su margen de beneficio debe ser independiente del estilo y debe liderar el estilo en el desarrollo de manera ideal. Esto significa que definir .color_red es un problema serio, porque no dice nada acerca de la semántica del margen de beneficio y ¿con qué problema se enfrenta si necesita aplicar un estilo azul al marcado?

mucho mejor para permitir que su margen de beneficio de existir como esto:

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

acompañada de:

<style> 
.highlight 
{ 
    color: red; 
} 

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

Quería que esto permitiera la creación de plantillas de colores. Como tener un color oscuro 1, etc. Mi ejemplo utiliza colores explícitos para simplificar. Estaba tratando de lograr el mismo efecto que las clases parciales en C#. –