Tengo un proyecto JSF2/Richfaces 4 en el que quiero usar una de las máscaras predeterminadas, PERO también deseo establecer el estilo de algunas cosas con mi propia hoja de estilos personalizada. Esto suena bastante sencillo, pero lo que estoy descubriendo es que, al menos en algunos casos, mi propio estilo no se usa. Para ser explícito, aquí están mis relevante Web.xml contexto params:Richfaces Skin Overriding Styleclass
<context-param>
<param-name>org.richfaces.skin</param-name>
<param-value>blueSky</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.control_skinning</param-name>
<param-value>enable</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.control_skinning_classes</param-name>
<param-value>enable</param-value>
</context-param>
Mi archivo CSS inclusión:
<h:outputStylesheet name="jsp-css.css" library="css" />
Un tal definición de estilo real:
.obsOptBtnSel{
background-color: transparent;
background-image: url('/images/circleY.gif');
background-repeat: no-repeat;
background-position: center;
border: none;
text-align: center;
width: 2em;
height: 2em;
}
y lo actual botón con el estilo:
<h:commandButton
value="?"
styleClass="#{obs.observation.observationExtent == -1.0 ? 'obsOptBtnSel' : 'obsOptBtnUns'}"
id="unknownButton"
/>
Entonces, uno pensaría que heredaré los estilos de la máscara blueSky cuando sea relevante, y luego, como estoy especificando una clase de estilo, se anularán todas las propiedades mencionadas en la hoja de estilos personalizada.
Pero, en cambio, cuando miro el elemento en Firebug, veo que mi estiloClass se ve anulado por el especificado por el aspecto, p. Ej. sigue usando la imagen de fondo blueSky en lugar de la mía.
Sé que podría solucionar esto simplemente poniendo! Importante después de todo mi estilo en la hoja de estilos, pero eso parece una manera realmente horrible e innecesaria de lidiar con este problema.
¿Qué estoy haciendo mal aquí? ¿Hay alguna otra solución?
Balus gana otra vez! Y aprendí algo nuevo sobre CSS. Tenía la impresión de que el estilo más específico siempre saldría ganando en un escenario de anulación, pero claramente no es el caso. ¡Gracias! – user470714
De nada. Para obtener una mejor comprensión de los precedentes de CSS, creo que este artículo es una buena lectura: http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/ – BalusC
¿Y hay alguna manera de incluir nuestros propios archivos CSS? ** después ** de las caras ricas en la cabeza? En el mismo nivel de selector de CSS, podría anular las caras de richfaces ... –