Por ejemplo, si tengo el siguiente HTML:
<div class="someDiv"></div>
y este CSS:
.opacity {
filter:alpha(opacity=60);
-moz-opacity:0.6;
-khtml-opacity: 0.6;
opacity: 0.6;
}
.radius {
border-top-left-radius: 15px;
border-top-right-radius: 5px;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
}
.someDiv {
background: #000; height: 50px; width: 200px;
/*** How can I reference the opacity and radius classes here
so this div has those generic rules applied to it as well ***/
}
Como en los lenguajes de scripting, tiene funciones genéricas que se usan a menudo escritas en la parte superior del script y cada vez que necesita usar esa función, simplemente llama a la función en lugar de repetir todo el código cada vez.
.radius
, como.radius, .another, .element{/* css*/}
. Eso le ahorrará código adicional, pero posiblemente lo haga menos legible.Respuestas:
No, no puede hacer referencia a un conjunto de reglas de otro.
Sin embargo, puede reutilizar selectores en múltiples conjuntos de reglas dentro de una hoja de estilo y usar múltiples selectores en un solo conjunto de reglas ( separándolos con una coma ).
También puede aplicar varias clases a un solo elemento HTML (el atributo de clase toma una lista separada por espacios).
Cualquiera de esos enfoques debería resolver su problema.
Probablemente ayudaría si usara nombres de clase que describan por qué un elemento debe tener un estilo en lugar de cómo debe tener un estilo. Deje el cómo en la hoja de estilo.
fuente
fieldset legend
alabel.legend
. Entiendo pero lamento..someDiv.other{/*style...*/}
esta manera, solo los elementos que tienen ambas clases se ven afectadosNo puede a menos que esté usando algún tipo de CSS extendido como SASS . Sin embargo, es muy razonable aplicar esas dos clases adicionales a
.someDiv
.Si
.someDiv
es único, también elegiría darle una identificación y hacer referencia a ella en css usando la identificación.fuente
Si está dispuesto y puede emplear un poco de jquery, simplemente puede hacer esto:
Si tiene un javascript que ya procesa la página o puede incluirlo en alguna parte de las etiquetas <script>. Si es así, envuelva lo anterior en la función de documento listo:
Recientemente me encontré con esto mientras actualizaba un complemento de wordpress. Se han cambiado, lo que utiliza muchas directivas "! Importantes" en el CSS. Tuve que usar jquery para forzar mis estilos debido a la genial decisión de declarar! Importante en varias etiquetas.
fuente
Puede hacerlo fácilmente con el preprocesador SASS usando @extend.
De lo contrario, también puede usar JavaScript (jQuery):
Lo más fácil es, por supuesto, agregar varias clases directamente en el HTML
fuente
Simplemente agregue las clases a su html
fuente
Tuve este problema ayer. La respuesta de @ Quentin está bien:
pero hice una función de javascript para simular la herencia en css (como .Net):
y CSS equivalente:
y HTML equivalente:
Lo probé y trabajé para mí, incluso si las reglas están en diferentes archivos css.
fuente
Puede usar la función var () .
Ejemplo:
fuente