La especificidad es un paso de la cascada CSS. Para declaraciones sobre el mismo elemento y propiedad, tienen prioridad el origen, la importancia (!important) y la capa de cascada. Solo si estos y los demás criterios de mayor prioridad empatan se comparan los pesos (a, b, c), de izquierda a derecha. Si son iguales, aún puede compararse la proximidad del ámbito antes del orden de aparición.
La columna a cuenta selectores de ID, la columna b cuenta clases, atributos y pseudoclases, y la columna c cuenta tipos de elemento y pseudoelementos. El selector universal, los combinadores y :where() no suman. :is(), :not() y :has() aportan la especificidad de su argumento más específico. Esta herramienta colorea cada token para que veas a qué columna alimenta.
Introduce un único selector válido en cada campo. La herramienta no comprueba coincidencias con el DOM, !important en las declaraciones, estilos en línea ni capas, por lo que no determina el estilo aplicado. En una lista de selectores separados por comas, muestra el mayor peso de la lista, no el del selector que coincide con un elemento. Una entrada no válida puede mostrar (0, 0, 0); eso no confirma que sea un selector válido de especificidad cero.
Preguntas y respuestas frecuentes sobre este tema.
La especificidad es solo una posible causa. En las herramientas de desarrollo del navegador, comprueba si el selector coincide con el elemento, la declaración es válida y se cumplen condiciones como las consultas de medios. Después revisa la cascada, incluidos !important, las capas y los estilos en línea. Esta calculadora compara pesos de selectores; no inspecciona tu página ni determina sus estilos aplicados.
:where() está diseñado para no añadir especificidad, así su contenido es fácil de anular. El selector universal * y los combinadores tampoco suman. En cambio :is() y :not() toman la especificidad de su argumento más específico.
La herramienta analiza y compara los selectores localmente en tu navegador, sin enviarlos a un servidor para calcular.
No. Afectan a la prioridad en la cascada sin sumar especificidad al selector. Por eso, un (a, b, c) mayor no garantiza que gane una declaración. En las declaraciones de las hojas de estilo del autor, las declaraciones normales de capas posteriores tienen prioridad; las importantes dan prioridad a las capas anteriores. Las declaraciones normales fuera de capas tienen prioridad sobre las de capas, y las importantes invierten ese orden.