Componente Header: navegación, sticky y accesibilidad

Diseña cabeceras robustas con branding, navegación adaptable, estados sticky y foco visible para teclado.

El header concentra branding, orientación y acciones críticas; su diseño impacta directamente en usabilidad.

Un header moderno debe responder a viewport, tener buen contraste y mantener foco visible para navegación por teclado.

Con CSS puedes implementar un patrón sticky estable sin depender de JavaScript.

  • Marca, navegación principal y acciones en una jerarquía clara.
  • Usa <code>&lt;header&gt;</code> y dentro <code>&lt;nav&gt;</code> para identificar regiones semánticas.
  • Agrupa enlaces en listas y separa acciones (login, CTA) de la navegación primaria para facilitar escaneo.
  • Fija navegación con sombra y fondo para legibilidad.
  • Con <code>position: sticky</code> y <code>top: 0</code> el header se mantiene visible durante el scroll dentro del flujo normal.

Estructura recomendada

Marca, navegación principal y acciones en una jerarquía clara.

Usa <code>&lt;header&gt;</code> y dentro <code>&lt;nav&gt;</code> para identificar regiones semánticas.

Agrupa enlaces en listas y separa acciones (login, CTA) de la navegación primaria para facilitar escaneo.

Sticky header sin sobresaltos

Fija navegación con sombra y fondo para legibilidad.

Con <code>position: sticky</code> y <code>top: 0</code> el header se mantiene visible durante el scroll dentro del flujo normal.

Añade fondo opaco o semitransparente y una línea/sombra para separar contenido al desplazarte.

CSS
69

Componente Header: navegación, sticky y accesibilidad

Diseña cabeceras robustas con branding, navegación adaptable, estados sticky y foco visible para teclado.

Código del tema: display: grid; gap: 1rem;

📘 Teoría

Estructura recomendada

Marca, navegación principal y acciones en una jerarquía clara.

1

Usa &lt;header&gt; y dentro &lt;nav&gt; para identificar regiones semánticas.

2

Agrupa enlaces en listas y separa acciones (login, CTA) de la navegación primaria para facilitar escaneo.

Base semántica
<header class='site-header'>
  <a class='logo' href='/'>Marca</a>
  <nav aria-label='Principal'>
    <ul>
      <li><a href='#'>Cursos</a></li>
      <li><a href='#'>Blog</a></li>
      <li><a href='#'>Contacto</a></li>
    </ul>
  </nav>
  <a class='cta' href='#'>Empieza</a>
</header>

Sticky header sin sobresaltos

Fija navegación con sombra y fondo para legibilidad.

1

Con position: sticky y top: 0 el header se mantiene visible durante el scroll dentro del flujo normal.

2

Añade fondo opaco o semitransparente y una línea/sombra para separar contenido al desplazarte.

Patrón sticky
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: color-mix(in srgb, white 90%, transparent);
  border-bottom: 1px solid #e2e8f0;
  backdrop-filter: blur(8px);
}

🧪 Aprende probando

Ejemplo Demo: header responsive Layout horizontal en desktop y compacto en móvil.

🏁 Retos

Reto Reto: activar sticky Haz el header sticky con top: 0 y z-index alto.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre CSS.

Test de CSS
CodePen: UI cards con hover y layout
Abrir en CodePen

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .