Como desarrolladores frontend, uno de nuestros superpoderes es la capacidad de transformar una página de texto simple en una experiencia visualmente atractiva. Pero, ¿cómo le decimos a CSS exactamente qué elementos queremos estilizar? La respuesta está en dos atributos fundamentales de HTML: Class e Id.
Dominar estos dos atributos es crucial para escribir código limpio, eficiente y fácil de mantener. En este artículo, vamos a ver qué son, para qué se usan, y te mostraré con un ejemplo práctico cómo aplicarlos.
¿Qué es un Class?
Piensa en un class (clase) como una etiqueta que puedes aplicar a múltiples elementos de tu página. Se usa para agrupar elementos que comparten un estilo similar. Por ejemplo, si tienes varios botones que quieres que sean del mismo color y tamaño, les asignarías la misma clase.
- Sintaxis en HTML:
<elemento class="nombre-de-la-clase"> - Sintaxis en CSS:
.nombre-de-la-clase { ... }
El punto (.) en CSS es el selector que indica que estás apuntando a una clase.
¿Qué es un Id?
Un id (identificador) es como la cédula de identidad de un elemento: es único e irrepetible. Solo puedes usar un id una sola vez en toda tu página HTML. Se utiliza para identificar un elemento específico y darle un estilo o funcionalidad particular.
- Sintaxis en HTML:
<elemento id="nombre-del-id"> - Sintaxis en CSS:
#nombre-del-id { ... }
El signo de número (#) en CSS es el selector para un id.
Class vs. Id: ¿Cuándo usar cada uno?
La regla general es la siguiente:
- Usa
Classpara estilos reutilizables que se aplicarán a varios elementos. - Usa
Idpara estilos o funcionalidades únicas que solo se apliquen a un solo elemento.
Piensa en una página con varias tarjetas de producto. Todas las tarjetas tendrán el mismo estilo base (fondo blanco, sombra, borde), por lo que les darías una clase como card. Sin embargo, puede que una de esas tarjetas sea una «oferta especial» y necesite un borde rojo único. A esa tarjeta le darías un id como oferta-destacada.
Ejemplo práctico: Una sección de noticias
Para ver esto en acción, vamos a crear una sección de noticias simple. Tendremos un título principal y varias «noticias» o artículos, donde una de ellas será la noticia más importante.
Paso 1: El HTML (index.html)
Aquí definiremos la estructura. Fíjate cómo usamos Class para elementos que se repiten (como las noticias y los títulos de las noticias) y un Id para el título de la noticia principal.
HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Página de Noticias</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Mi Blog de Noticias</h1>
</header>
<main class="contenedor-noticias">
<article class="noticia">
<h2 id="titulo-destacado">Novedades en el mundo del desarrollo web</h2>
<p>¡Descubre las últimas tendencias y frameworks que están revolucionando el frontend!</p>
</article>
<article class="noticia">
<h2 class="titulo-noticia">Consejos para optimizar tu código CSS</h2>
<p>Aprende a escribir hojas de estilo más eficientes y fáciles de mantener.</p>
</article>
<article class="noticia">
<h2 class="titulo-noticia">JavaScript asíncrono explicado</h2>
<p>Una guía completa para entender Promises y Async/Await.</p>
</article>
</main>
</body>
</html>
Paso 2: El CSS (style.css)
Ahora, vamos a darle vida a nuestra página. Usaremos los selectores de Class (.) e Id (#) para aplicar los estilos.
CSS
/* Estilos generales */
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
color: #333;
line-height: 1.6;
}
.contenedor-noticias {
max-width: 960px;
margin: 20px auto;
padding: 0 20px;
}
/* Estilos de la clase 'noticia' */
.noticia {
background-color: #fff;
padding: 20px;
margin-bottom: 20px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
/* Estilos de la clase 'titulo-noticia' */
.titulo-noticia {
color: #007bff;
font-size: 1.5em;
}
/* Estilos para el ID 'titulo-destacado' (estilo único) */
#titulo-destacado {
color: #d9534f; /* Color de alerta, para que destaque */
font-size: 1.8em;
border-left: 5px solid #d9534f;
padding-left: 10px;
}
Conclusión
Como puedes ver en el ejemplo, la diferencia es clara. Con Class, creamos un estilo base para todas las noticias, y con el Id (#titulo-destacado), dimos un estilo único y especial a una de ellas.
Entender la diferencia entre Class e Id no solo te ayudará a estilizar tus páginas de manera efectiva, sino que también hará que tu código sea más escalable y fácil de mantener para futuros proyectos.
¡Así que a partir de ahora, úsalos sabiamente!

Deja una respuesta