Mis mejores utilidades, ahora en tu móvil.

Accede a todas mis herramientas y proyectos de forma rápida, optimizada y en un solo lugar.

Calculadora de Especificidad CSS Online. Visualizador de Peso

Calcula la especificidad y peso exacto de cualquier selector CSS. Herramienta visual para entender qué regla CSS gana la cascada y evitar el uso de !important.

VS
¡Este selector gana!
0 IDs
0 Clases / Pseudos
0 Elementos
¡Este selector gana!
0 IDs
0 Clases / Pseudos
0 Elementos
Ambos selectores tienen el mismo peso. Si compiten por el mismo elemento, ganará el que esté escrito último en el CSS.
Estudio de Utilidades

¿Quieres tener esta utilidad en tu web?

Personaliza colores y modo oscuro para WordPress, Notion o tu propio sitio.

Preguntas Frecuentes

¿Qué es la especificidad en CSS?
La especificidad es el algoritmo que usan los navegadores para decidir qué regla CSS se aplica a un elemento cuando varias reglas compiten por él. Se representa como una puntuación de tres columnas (A, B, C) que indica IDs, clases/atributos/pseudoclases y elementos/pseudoelementos respectivamente.
¿Puede una clase superar a un ID en especificidad?
No directamente. Un ID (1,0,0) siempre vence a cualquier número de clases (0,N,0) porque la especificidad no tiene acarreo numérico entre columnas. Cien clases (0,100,0) nunca superarán a un solo ID (1,0,0).
¿Qué ocurre cuando dos selectores tienen la misma especificidad?
Cuando dos selectores tienen exactamente el mismo peso, gana el que esté declarado último en el archivo CSS. Es lo que se conoce como el orden de la cascada natural. Esta calculadora te avisa visualmente cuando se produce un empate.
¿Por qué se considera mala práctica usar !important?
La directiva !important rompe la cascada natural del CSS al forzar una declaración sobre cualquier otra regla. Esto genera conflictos difíciles de depurar en proyectos grandes y hace el mantenimiento del código frustrante. Metodologías como BEM abogan por mantener la especificidad plana para evitar necesitar !important.

# ¿Qué es la Especificidad en CSS?

La especificidad en CSS es el algoritmo mediante el cual los navegadores deciden qué valores de las propiedades aplicarán a un elemento. Básicamente, es una puntuación matemática que indica al navegador "cuán específica" es una regla.Si dos reglas tienen diferentes niveles de especificidad, ganará la que tenga mayor peso, sin importar el orden en el que fueron escritas. Si ambas tienen el mismo peso, ganará la última declarada en el código fuente.

# Cómo calcular la Especificidad CSS

La especificidad se calcula en tres categorías que forman un peso de tres columnas, expresado como (A, B, C):
  • Columna A (IDs): Suma el número de identificadores únicos. Ejemplo: #header cuenta como 1 en la columna A.
  • Columna B (Clases, Atributos y Pseudos): Suma todas las clases (.button), atributos ([type="text"]) y pseudo-clases (:hover).
  • Columna C (Elementos y Pseudo-elementos): Suma todos los elementos HTML (div, h1) y pseudo-elementos (::before).

# La regla de oro: no hay acarreo numérico

Una regla con especificidad (0,50,0) nunca será más específica que una regla (1,0,0). Un solo ID vence a infinitas clases. Las columnas no se trasladan entre sí.

# El problema de !important y la arquitectura BEM

La directiva !important es una excepción a las reglas de especificidad. Cuando la utilizas, esa declaración sobrescribe cualquier otra automáticamente. Se considera mala práctica ya que destruye la cascada natural.Para evitar guerras de especificidad en proyectos grandes, metodologías como BEM abogan por el uso exclusivo de selectores de clase a un único nivel de profundidad, manteniendo la especificidad plana en (0,1,0).

Referencias Bibliográficas

Esc