Saltar la navegación

2.3.- Selectores de clase e ID.

Ilustración en la que se ven muchos contenedores encima de un barco.
Jim Bahn (CC BY)

Para poder hacer uso de selectores más específicos, se hace necesario introducir los conceptos de identificador (id) y clase (class).

Identificadores (id).

Los elementos HTML disponen de un atributo llamado identificador (id), que tiene como finalidad identificar al de manera excluyente. De este modo, CSS u otro lenguaje podrá hacer referencia a él y distinguirlo del resto de los elementos del documento.

Un id debe ser único en cada documento (X)HTML.

Ejemplo:

<p id="textocabecera">

Se recomienda que el valor del id sea un nombre que caracterice o clarifique, de forma breve y esquemática al elemento y que, además, sea fácilmente reconocible por el programador. Se utilizan con frecuencia para identificar las secciones principales de las páginas: contenido, cabecera, pie, etcétera.

Para escribir una regla de estilo que se aplique a un determinado identificador hay que escribir el símbolo de la almohadilla (#) seguido del nombre del identificador. El ejemplo siguiente muestra algunas formas de establecer el tamaño de la fuente en 14 píxeles al elemento p identificado como "textocabecera" del ejemplo anterior:

Ejemplo:

p#textocabecera {font-size: 14px;}
#textocabecera {font-size: 14px;}

Con el primera regla indicamos que se aplique el estilo a un párrafo cuyo identificador sea "textocabacera" pero, como el id es único en cada documento, realmente basta con la segunda forma para decir lo mismo, porque no va a haber otro elemento <p> o diferente de <p> que tenga ese mismo identificador.

Si tenemos varios elementos que necesitan un tratamiento similar, emplearemos el atributo class.

Clases (class).

Se emplea el atributo class para identificar distintos elementos como parte de un grupo conceptual. Así, los elementos de una clase pueden modificarse con una única regla de estilo.

En el siguiente ejemplo se muestra como dos elementos distintos se clasifican de la misma forma mediante la asignación del valor "especial" al atributo class.

Ejemplo:

<h1 class="especial">¡Atención!</h1>
<p class="especial">Hoy tenemos grandes rebajas.</p>

También se puede hacer que un elemento pertenezca a más de una clase separando sus nombres de clase con espacios. En el siguiente ejemplo el párrafo pertenece a dos clases: "textocabecera" y "especial".

Ejemplo:

<p class="textocabecera especial">Hoy tenemos grandes rebajas.</p>

Para escribir una regla de estilo que se aplique a todos los elementos de una determinada clase hay que escribir un punto seguido del nombre de la clase. Por ejemplo: .especial {color: green;}

El siguiente ejemplo muestra la forma de lograr que todos los elementos de la clase "especial" tengan un color verde a excepción de las cabeceras de primer nivel que tienen que ser rojas.

Ejemplo:

.especial {color: green;}
h1.especial{color: red;}

Los nombres de clases y de identificadores no pueden contener espacios en blanco.

Recomendación

En el siguiente enlace podrás leer unas recomendaciones generales sobre CSS. Son especialmente interesantes aquellas que mencionan las reglas que deben cumplir los nombres de los identificadores y de las clases y cómo se debe estructurar una hoja de estilos.

Recomendaciones generales sobre CSS.