# 📏 SISTEMA DE GRID Y ESPACIADO ## Grid de Bootstrap ### Sistema de 12 Columnas ```css .container-fluid { max-width: 1400px; /* Máximo ancho del admin panel */ padding-right: var(--bs-gutter-x, 0.75rem); padding-left: var(--bs-gutter-x, 0.75rem); } .row { --bs-gutter-x: 1.5rem; /* Espacio horizontal entre columnas */ --bs-gutter-y: 0; /* Espacio vertical */ } ``` ### Uso en Admin Panels ```css .row.g-3 { /* Gap de 1rem (16px) */ --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; } .row.g-2 { /* Gap de 0.5rem (8px) */ --bs-gutter-x: 0.5rem; --bs-gutter-y: 0.5rem; } ``` --- ## Breakpoints | Breakpoint | Min Width | Max Width | Dispositivo | Comportamiento | |------------|-----------|-----------|-------------|----------------| | **xs** | 0px | 575px | Móvil | Stack vertical | | **sm** | 576px | 767px | Tablet pequeña | Stack vertical | | **md** | 768px | 991px | Tablet | Stack vertical | | **lg** | 992px | 1199px | Desktop | 2 columnas | | **xl** | 1200px | 1399px | Desktop grande | 2 columnas | | **xxl** | 1400px | ∞ | Desktop XL | 2 columnas | ### Punto de Quiebre Principal: lg (992px) ```html
Columna 1
Columna 2
``` --- ## Clases de Grid Comunes ### Layout de 2 Columnas (Admin Panel Estándar) ```html
``` ### Layout de 3 Columnas Desiguales ```html
Campo 1
Campo 2
Campo 3
``` ### Layout de 2 Columnas Iguales (Campos de Color) ```html
``` ### Full Width ```html
``` --- ## Sistema de Espaciado ### Escala de Espaciado (rem) Bootstrap utiliza una escala basada en `rem`: ```css /* Bootstrap Spacing Scale */ 0 = 0 1 = 0.25rem (4px) 2 = 0.5rem (8px) 3 = 1rem (16px) 4 = 1.5rem (24px) 5 = 3rem (48px) ``` ### Margin (m) y Padding (p) #### Margin ```html .mb-2 /* margin-bottom: 0.5rem (campos de formulario) */ .mb-3 /* margin-bottom: 1rem (cards, secciones) */ .mb-4 /* margin-bottom: 1.5rem (headers) */ .me-2 /* margin-right: 0.5rem (iconos) */ .me-1 /* margin-right: 0.25rem (iconos pequeños) */ .ms-2 /* margin-left: 0.5rem */ .mt-1 /* margin-top: 0.25rem (hints) */ .mt-3 /* margin-top: 1rem (separadores) */ .m-0 /* margin: 0 */ .mb-0 /* margin-bottom: 0 */ ``` #### Padding ```html .p-4 /* padding: 1.5rem (header del tab) */ .p-3 /* padding: 1rem (card-body estándar) */ .py-4 /* padding-top y bottom: 1.5rem (container principal) */ .py-3 /* padding-top y bottom: 1rem */ .px-3 /* padding-left y right: 1rem */ ``` --- ## Uso Estándar en Admin Components ### Tabla de Referencia | Elemento | Clase | Valor Real | Uso | |----------|-------|------------|-----| | **Container Principal** | `.py-4` | 1.5rem (24px) | Padding vertical del contenedor | | **Header del Tab** | `.mb-4` | 1.5rem (24px) | Separación después del header | | **Cards** | `.mb-3` | 1rem (16px) | Separación entre cards | | **Campos de Formulario** | `.mb-2` | 0.5rem (8px) | Separación entre campos | | **Card Body** | `.p-3` | 1rem (16px) | Padding interno de cards | | **Iconos en Título** | `.me-2` | 0.5rem (8px) | Espacio después de iconos grandes | | **Iconos en Label** | `.me-1` | 0.25rem (4px) | Espacio después de iconos pequeños | | **Títulos de Card** | `.mb-3` | 1rem (16px) | Separación después del título | | **Hints/Small Text** | `.mt-1` | 0.25rem (4px) | Espacio antes de hints | --- ## Gap Utilities ### Flexbox/Grid Gap ```html
/* 0.5rem (8px) entre elementos */
/* 1rem (16px) entre elementos */
/* 0.5rem (8px) entre columnas */
/* 1rem (16px) entre columnas */ ``` ### Ejemplo: Header Responsive con Gap ```html

Título

Descripción

``` **Qué hace:** - `gap-3`: 1rem de espacio entre elementos hijos - `flex-wrap`: Permite que el botón baje a la siguiente línea en mobile - Mantiene espaciado consistente sin margins complejos --- ## Auto Layout ### Margin Auto ```html .mx-auto /* margin-left: auto; margin-right: auto; */ .ms-auto /* margin-left: auto; */ ``` ### Padding Auto (No existe en Bootstrap) Bootstrap NO tiene padding auto. Usar flexbox para alineación: ```html
Izquierda
Derecha
``` --- ## Ejemplos Completos ### Container Principal del Admin ```html
``` ### Header del Tab ```html
``` ### Card Estándar ```html
Título
``` ### Campo de Formulario con Label e Icono ```html
Texto de ayuda
``` --- ## Responsive Spacing ### Desktop (≥992px) Usar espaciado estándar sin modificaciones. ### Mobile (<576px) ```css @media (max-width: 575px) { /* Reducir padding en containers */ .container-fluid { padding-right: 0.5rem; padding-left: 0.5rem; } /* Reducir padding en headers */ .tab-header { padding: 0.75rem !important; } /* Reducir padding en cards */ .card-body { padding: 0.75rem !important; } } ``` --- ## Volver al Índice [← Volver al README](README.md)