Investigando especificidad me topé con este blog - http://www.htmldog.com/guides/cssadvanced/specificity/Puntos en la especificidad de CSS
Afirma que la especificidad es un sistema de punto de puntuación para CSS. Nos dice que los elementos valen 1 punto, las clases valen 10 puntos y los ID valen 100 puntos. También dice que estos puntos se suman y la cantidad total es la especificidad de ese selector.
Por ejemplo:
cuerpo = 1 punto
cuerpo .wrapper = 11 puntos
cuerpo .wrapper #container = 111 puntos
Así , usando estos puntos seguramente el siguiente CSS y HTML serán r ESULTADO en el texto de ser azul:
CSS:
#a {
color: red;
}
.a .b .c .d .e .f .g .h .i .j .k .l .m .n .o {
color: blue;
}
HTML:
<div class="a">
<div class="b">
<div class="c">
<div class="d">
<div class="e">
<div class="f">
<div class="g">
<div class="h">
<div class="i">
<div class="j">
<div class="k">
<div class="l">
<div class="m">
<div class="n">
<div class="o" id="a">
This should be blue.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
RESULTADO:
¿Por qué el texto es rojo cuando 15 clases equivalen a 150 puntos en comparación con 1 ID que equivale a 100 puntos?
EDIT:
Así que al parecer los puntos no sólo se sumaron, que están concatenados. Lea más al respecto aquí - http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html PERO, ¿eso significa que las clases en nuestro selector = 0,0,15,0
O 0,1,5,0
?
Mis instintos me dicen que es la antigua como la conocemos especificidad del selector de ID se ve así: 0,1,0,0
Voy a seguir adelante y asumir que las clases no se acumulan. Un tema muy interesante ... – Sphvn
Acabo de añadir algo más de información que acabo de leer. – Sam
Me encanta ese artículo, sería bueno ver una actualización para incluir atributos como selectores que se explican/lanzan en la mezcla. – Jayx