estoy usando las siguientes definiciones (adaptado de la especificación CSS2 http://www.w3.org/TR/CSS21/cascade.html#specificity)¿Cómo funcionan los niveles de especificidad CSS entre clases/pseudo-clases y elementos/pseudo-elementos?
- a = utilizando el atributo de estilo en un elemento
- b = número de atributos ID
- c = número de atributos (clases) y clases de seudo (: enlace,: hover)
- d = número de elementos y pseudo-elementos (: de primera línea,: first-letter)
Con las siguientes estilos (mis cálculos a la derecha):
.content {color: green;} /* a=0 b=0 c=1 d=0 -> 0,0,1,0 */
.content:hover {color: yellow;} /* a=0 b=0 c=2 d=0 -> 0,0,2,0 */
li {color: orange;} /* a=0 b=0 c=0 d=1 -> 0,0,0,1 */
li:first-line {color: pink;} /* a=0 b=0 c=0 d=2 -> 0,0,0,2 */
y el código HTML siguiente
<li class="content">The first line</li>
Cuando lo abra en un navegador, la línea de texto es de color rosa. Pensé que sería verde y en vuelo estacionario, sería amarillo. Pensé que los elementos y los pseudoelementos (la d en el cálculo) tienen menos peso que las clases y las pseudo clases (la c en los cálculos).
Posible duplicado de [La especificidad de primera línea y primer hijo en CSS?] (http://stackoverflow.com/questions/20555878/the-specificity-of-first-line-and-first-child-in-css) –