2011-01-25 20 views
7

si tengo una docena de selectores CSS, y desea asignar :hover propiedades a todos ellos, estoy acostumbrado a hacer esto:¿Hay alguna forma de agrupar selectores de CSS para mayor claridad?

selector, selector2, someOtherSelector, someSelector div { 
    //some properties 
} 
selector:hover, selector2:hover, someOtherSelector:hover, someSelector div:hover { 
    //some properties 
} 

Typing :hover cuatro veces parece redundante. ¿Hay alguna manera de agrupar los selectores como

(selector, selector2, someOtherSelector, someSelector div):hover { 
    //some properties 
} 

en su lugar?

+0

Una pregunta relacionada interesante, por cierto: http://stackoverflow.com/questions/800779/why-cant-you-group-descendants-in-a-css-selector?rq=1 –

Respuesta

4

Si todos ellos comparten las mismas propiedades de la libración que podría crear una clase que es compartida por todo lo que define el: hover

Así se obtendría:

allSelectors, selector, selector2, someOtherSelector, someSelector div { 
    //some properties 
} 
allSelectors:hover { 
    //some properties 
} 

Las clases reutilizables hacen que el código sea más limpio y menos.

3

Lamentablemente, not really cualquier easier way de hacer lo que estás tratando de hacer, desafortunadamente. A menos que quiera mover los estilos a jQuery o algo así (pero esa no es una buena solución).

4

No es nativamente en CSS. Mediante el uso de algo así como SCSS, se puede escribir:

selector, selector2, someOtherSelector, someSelector div { 
    // some properties 

    &:hover { 
    // some more properties 
    } 
} 
Cuestiones relacionadas