2mdc
C/ Matias Turrión, 24, 1º
Madrid 28043
Tel: 91 759 00 24
Fax: 91 759 15 18

Blog: Diseño web

Especificidad CSS

Publicado el: 21/08/2008 en: Diseño web | Añadir Comentario

Envía esta entrada a menéame Envía esta entrada a del.ici.ous Envía esta entrada a facebook Envía esta entrada a Twitter

La Real Academia Española define la especificidad como la cualidad y condición de ser específico, o lo que es lo mismo: concreto, determinado. En los últimos años, los expertos en CSS se han apropiado de este término para denominar la cualidad que hace que un estilo prime sobre otro cuando ambos deberían afectar a un mismo elemento.

El principio en el que se basa es simple: el elemento más específico gana. Parece claro que una clase definida específicamente para un elemento html (como p .intro { }) prima sobre la definición general de ese elemento en la hoja de estilos (que sería p {}). Pero, ¿y dos etiquetas html frente a un id? (como por ejemplo div p {} y #cabecera {}), ¿por qué este elemento no sale como debería?. Esa es la clase de preguntas que responde la especificidad.

¿Cómo se calcula? Asignando un valor a cada tipo de elemento:

  • Un selector HTML tiene una especificidad de 1.
  • Dos selectores HTML tienen una especificidad de 2, es decir que se aplica siempre el selector con más elementos.
  • Un selector de clase tiene una especificidad de 10.
  • Dos selectores HTML con un selector de clase tienen una especificidad de 10 + 1 + 1.
  • Un selector id tiene una especificidad de 100.

Una vez asignados estos valores, éstos se suman para calcular el total (véanse ejemplos en htmldog y csstricks ) o se comparan por separado (véase un ejemplo de esto último en Smashing Magazine).

Por último, os recomendamos esta simpáticachuleta de especificidad CSS ambientada en Star Wars.

Valore de 1 a 5 este artículo
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (No valorado aun)

Deja tu comentario



Tags HTML Permitidos:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

2mdc.com diseño web C/ Matias Turrión, 24, 1º, Madrid 28043 Tel: 91 759 00 24 Fax: 91 759 15 18 Diseño web