2010-09-15 10 views
34

Hace algún tiempo vi un ejemplo de un archivo css, donde las reglas/selectores css estaban especificadas de forma anidada, p. algo como esto:reglas css anidadas

div.a { 
    color: red; 
    div.b { 
    font-weight: bold; 
    } 
} 

No estoy seguro de donde vi que (probablemente en una pregunta SO), o si fue exactamente como se ha mostrado anteriormente.

Mis preguntas: ¿Es correcto el CSS anterior/válido? ¿Es una forma estándar de especificar reglas CSS o es un hack dependiente del navegador?

Respuesta

1

Puede reglas nido con SASS, http://sass-lang.com/

Tal vez eso era?

+0

Debe tenerse en cuenta que la salida de SASS sigue siendo compatible con CSS, sin anidación. Anidar SASS simplemente hace que sea más fácil escribir. – Robert

41

No es un CSS estándar válido, pero es un ejemplo de declaraciones de clase de anidación usando Sass/SCSS o LESS y creo que hay otras extensiones CSS que expanden a algo como esto (que es CSS válido) antes de servirlo el navegador de empleo:

div.a { 
    color: red; 
} 

div.a div.b { 
    /* Inherits color from div.a */ 
    font-weight: bold; 
} 
3

lo que es probable que esté refiriendo es LESS.

El ejemplo que proporcionó no es válido, pero es válido con MENOS. LESS "compilará" el CSS anidado y lo convertirá en algo que sea CSS válido.

Cuestiones relacionadas