Barra Lateral con Encabezado
El diseño básico de una aplicación web moderna con una barra lateral fija a la izquierda y un encabezado en la parte superior. Ideal para pantallas de gestión y productos SaaS.
HTMLTailwind CSS
Dashboard
Welcome back! Here’s an overview of your projects.
Total Revenue
$45,231.89
20.1%
from last monthActive Users
2,300
15.3%
from last monthConversion Rate
4.24%
2.1%
from last monthNo reports generated yet
Get started by creating a new report. All your generated documents will appear here.
Un diseño básico que combina una barra lateral izquierda y un encabezado superior, que se usa más comúnmente en aplicaciones SaaS y paneles de administración modernos.
Casos de uso y características
- Pantalla de gestión/producto SaaS: Ideal para aplicaciones con muchos elementos de navegación.
- Compatibilidad Responsive: La barra lateral que siempre se muestra en el escritorio está diseñada para ocultarse en las pantallas de móviles y tabletas (en funcionamiento real, se muestra en un cajón con un menú de hamburguesas, etc.).
- Diseño de Flexbox: una estructura calculada para ajustarse a la altura completa de la pantalla combinando utilidades como
flex-1ymin-w-0. Sólo se desplaza el área de contenido principal, el encabezado y la barra lateral son fijos.
Puntos claves del diseño y UX (Design & UX)
- Separación del área de desplazamiento: La navegación a la izquierda (
navdentro deaside) y el desplazamiento del contenido principal (main) a la derecha son independientes, por lo que incluso los menús largos no interfieren con la pantalla principal. - Barra de desplazamiento personalizada: utilizamos
::-webkit-scrollbarpara cambiar la barra de desplazamiento gruesa predeterminada por un diseño más delgado y elegante que reduce el ruido de la interfaz de usuario. - Estructura jerárquica altamente visible: al combinar colores de fondo (
bg-slate-50ybg-white), bordes (border-slate-200) y sombras claras (shadow-sm), los límites de cada sección se expresan de forma natural.
Cómo personalizar (Guía de personalización)
- Ancho de la barra lateral: Puede ajustar el ancho cambiando
w-64(16rem = 256px) especificado enasideaw-72ow-56. - Altura del encabezado: puede controlar la altura general cambiando el “encabezado” y el área del logotipo en la parte superior de la barra lateral de “h-16” (4rem = 64px) a “h-14”, etc.
- Cambiar color del tema: reemplace
indigo-600, etc. utilizado en cada ícono y menú activo con el color de su marca (por ejemplo,blue-600oviolet-500).
código de implementación (Implementation)
<div class="h-screen w-full overflow-hidden bg-slate-50 text-slate-900 font-sans flex">
<!-- barra lateral -->
<aside class="hidden md:flex flex-col w-64 bg-white border-r border-slate-200 shrink-0">
<div class="h-16 flex items-center px-6 border-b border-slate-200 shrink-0">
<a href="#" class="font-bold text-lg text-indigo-600">NexusApp</a>
</div>
<nav class="flex-1 overflow-y-auto py-4 px-3">
<ul class="space-y-1">
<li>
<a href="#" class="flex items-center gap-3 px-3 py-2 text-sm font-medium rounded-lg bg-indigo-50 text-indigo-600">
Dashboard
</a>
</li>
<li>
<a href="#" class="flex items-center gap-3 px-3 py-2 text-sm font-medium rounded-lg text-slate-600 hover:bg-slate-50">
Team
</a>
</li>
</ul>
</nav>
</aside>
<!-- Contenedor principal -->
<div class="flex-1 flex flex-col min-w-0 bg-slate-50">
<!-- Encabezado -->
<header class="h-16 flex items-center justify-between px-4 sm:px-6 lg:px-8 bg-white border-b border-slate-200 shadow-sm shrink-0">
<div class="flex items-center gap-4">
<!-- Alternar menú para móvil -->
<button class="md:hidden p-2 text-slate-500 hover:text-slate-900 rounded-md">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/></svg>
</button>
</div>
<div class="flex items-center gap-4">
<button class="p-2 text-slate-400 hover:text-slate-600 rounded-full">
<!-- Notification icons, etc. -->
</button>
<div class="h-8 w-8 rounded-full bg-indigo-500 text-white flex items-center justify-center text-sm font-bold">
JS
</div>
</div>
</header>
<!-- Main content area -->
<main class="flex-1 overflow-y-auto p-4 sm:p-6 lg:p-8">
<div class="max-w-7xl mx-auto">
<!-- Place page-specific content here -->
<h1 class="text-2xl font-bold text-slate-900 mb-6">Dashboard</h1>
</div>
</main>
</div>
</div> Soporte del navegador
- Funciona correctamente con las últimas versiones de los navegadores modernos (Chrome, Safari, Firefox, Edge).
- Los navegadores antiguos (IE, etc.) no son compatibles ya que Flexbox (
flex,flex-1,flex-col) se usa mucho.