Curso de Frontend Developer

Toma las primeras clases gratis

Cuando empezamos a maquetar, es tentador usar <div> para todo. Sin embargo, HTML5 nos ofrece etiquetas semánticas que le dan significado a nuestro código. En este tutorial, aprenderás a estructurar el layout de una página web profesionalmente, utilizando las etiquetas correctas para mejorar el SEO y la accesibilidad.

Requisitos

  • Un editor de código.
  • Conocimientos básicos de HTML.

Paso 1: El “Sándwich” (Header y Footer)
Todo sitio web estándar tiene una cabeza y un pie.

<header>: Aquí va lo primero que ve el usuario. Usualmente contiene el logotipo y el menú de navegación principal.

<footer>: Es el cierre de la página. Aquí van los derechos de autor, enlaces a redes sociales o información de contacto.

Paso 2: El corazón de tu página (La etiqueta <main>)
Aquí es donde muchos cometen errores o la omiten. Entre el header y el footer, debemos indicar cuál es el contenido único y principal de esa página específica. Para esto usamos la etiqueta <main>.

Nota importante: Solo debe haber un <main> visible por página. A diferencia de los divs, esta etiqueta le grita a Google: “¡Hey, lo importante está aquí dentro!”.

Paso 3: Organizando el contenido (Nav y Section)
Dentro de las áreas principales, necesitamos organizar la información:

<nav>: Úsala para envolver tus enlaces de navegación. No es necesario usarla para todos los grupos de enlaces, solo para los bloques principales (como el menú del header).

<section>: Úsala dentro del main para agrupar contenido que comparte una misma temática (ej: “Sobre nosotros”, “Galería”, “Precios”).

Resultado: El código final
Así se ve una estructura semántica limpia y profesional:

<!DOCTYPE html>
<html lang="es" class="!scroll-smooth">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Daniel Vargas ~ Platzi</title>
    <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
</head>
<body>
    <header class="w-full h-22.5 fixed flex items-center justify-center bg-neutral-900">
        <nav class="flex items-center justify-center gap-4 text-white">
            <a href="#inicio" class="text-lg hover:underline">Inicio</a>
            <a href="#servicios" class="text-lg hover:underline">Servicios</a>
            <a href="#planes" class="text-lg hover:underline">Planes</a>
        </nav>
    </header>
    <main>
        <section class="w-full h-dvh flex flex-col items-center justify-center" id="inicio">
            <h1
                class="text-4xl font-bold m-10 bg-linear-to-r from-pink-500 to-violet-500 bg-clip-text text-5xl text-transparent">
                Bienvenidos a Platzi</h1>
            <p>Esta es la sección de introducción.</p>
        </section>
        <section class="w-full h-dvh flex flex-col items-center justify-center border-t border-neutral-300" id="servicios">
            <h2 class="text-3xl font-bold m-10">Nuestros Servicios</h2>
            <p>Descripción de lo que hacemos.</p>
        </section>
        <section class="w-full h-dvh flex flex-col items-center justify-center border-t border-neutral-300" id="planes">
            <h2 class="text-3xl font-bold m-10">Planes Disponibles</h2>
            <div class="flex gap-4">
                <div class="space-y-4">
                    <ul class="p-3 box-border rounded-lg bg-neutral-100 border border-neutral-200">
                        <li>
                            <h3 class="text-md font-bold">Plan Gratuito</h3>
                        </li>
                        <li>
                            <p>Acceso básico a todos los cursos introductorios.</p>
                        </li>
                    </ul>
                    <ul class="p-3 box-border rounded-lg bg-neutral-100 border border-neutral-200">
                        <li>
                            <h3 class="text-md font-bold">Plan Premium</h3>
                        </li>
                        <li>
                            <p>Acceso ilimitado y mentorías personalizadas.</p>
                        </li>
                    </ul>
                </div>
                <ol class="p-3 box-border rounded-lg bg-neutral-100 border border-neutral-200 space-y-3">
                    <li>
                        <h3 class="text-md font-bold">¿Cómo suscribirte?</h3>
                    </li>
                    <li>
                        <p>Elige tu plan preferido arriba.</p>
                    </li>
                    <li>
                        <p>Crea tu cuenta con tu correo electrónico.</p>
                    </li>
                    <li>
                        <p>Empieza a aprender de inmediato.</p>
                    </li>
                </ol>
            </div>
        </section>
    </main>
    <footer class="w-full py-8 flex items-center justify-center border-t border-neutral-200 bg-neutral-100">
        <p>&copy; 2025 Daniel Vargas. Todos los derechos reservados.</p>
    </footer>
</body>
</html>

Conclusión
Maquetar con etiquetas semánticas (header, main, footer, nav, section) hace que tu código sea más fácil de leer para ti y para los navegadores. ¡Intenta reemplazar tus divs genéricos por estas etiquetas en tu próximo proyecto!

Contacto
Si tienes dudas o quieres ver más de mi trabajo, puedes encontrarme aquí:

Curso de Frontend Developer

Toma las primeras clases gratis

0 Comentarios

para escribir tu comentario

Artículos relacionados