Componente Sidebar: navegación lateral adaptable

Construye sidebars claras y mantenibles con layout de dos columnas, estados activos y comportamiento sticky.

Una sidebar bien resuelta mejora navegación y contexto en documentación, paneles y cursos largos.

El patrón habitual combina columna fija + contenido flexible y colapsa en móvil.

Con CSS puedes mantener la sidebar visible en scroll mediante sticky sin romper accesibilidad.

  • Dos columnas: navegación y contenido.
  • Define un contenedor grid con una columna fija para navegación y otra flexible para contenido principal.
  • En pantallas pequeñas, cambia a una sola columna para evitar que la navegación ocupe demasiado ancho.
  • Mantén contexto de navegación mientras se lee el contenido.
  • La sidebar puede fijarse con <code>position: sticky</code> y un <code>top</code> adaptado al header.

Layout base de sidebar

Dos columnas: navegación y contenido.

Define un contenedor grid con una columna fija para navegación y otra flexible para contenido principal.

En pantallas pequeñas, cambia a una sola columna para evitar que la navegación ocupe demasiado ancho.

Sticky + estado activo

Mantén contexto de navegación mientras se lee el contenido.

La sidebar puede fijarse con <code>position: sticky</code> y un <code>top</code> adaptado al header.

Resalta el enlace activo con contraste suficiente para orientar al usuario.

CSS
75

Componente Sidebar: navegación lateral adaptable

Construye sidebars claras y mantenibles con layout de dos columnas, estados activos y comportamiento sticky.

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

📘 Teoría

Layout base de sidebar

Dos columnas: navegación y contenido.

1

Define un contenedor grid con una columna fija para navegación y otra flexible para contenido principal.

2

En pantallas pequeñas, cambia a una sola columna para evitar que la navegación ocupe demasiado ancho.

Estructura principal
.layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 1rem;
}
@media (width < 900px) {
  .layout { grid-template-columns: 1fr; }
}

Sticky + estado activo

Mantén contexto de navegación mientras se lee el contenido.

1

La sidebar puede fijarse con position: sticky y un top adaptado al header.

2

Resalta el enlace activo con contraste suficiente para orientar al usuario.

Sidebar sticky
.sidebar {
  position: sticky;
  top: 1rem;
  align-self: start;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: .75rem;
}
.sidebar a.is-active {
  background: #dbeafe;
  color: #1e3a8a;
}

🧪 Aprende probando

Ejemplo Demo: sidebar de curso Índice lateral con estado activo.

🏁 Retos

Reto Reto: sidebar sticky en desktop Configura sticky en .sidebar con top: 1rem.

🧰 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 .