DIANA

Diseño Aplicaciones Navarra

Retícula y utilidades de layout

Sistema de utilidades de layout siguiendo el modelo Tailwind, integrado con los tokens GN. Todas las clases usan el prefijo gn-. Las clases responsivas usan la sintaxis {breakpoint}:gn-{clase}.

Breakpoints

Prefijo Mínimo Descripción
— (sin prefijo) 0 px Mobile-first. Se aplica siempre.
sm: 640 px Pantallas pequeñas (teléfonos apaisados).
md: 768 px Tablets. Alineado con el breakpoint del gn-header y gn-footer.
lg: 1024 px Escritorio estándar.

---

Container

Centra el contenido y aplica padding lateral coherente con gn-header y gn-footer (1140 px de área útil).

Clase Contenido útil Uso
.gn-container 1140 px Contenido principal. Centrado automático.
.gn-container--md 850 px Editorial, formularios, texto corrido.
.gn-container--fluid sin límite Ancho completo con padding lateral.
.gn-container--flush sin límite Sin padding. Bandas, hero, fondos a borde de pantalla.

---

Display

Clase CSS
.gn-griddisplay: grid
.gn-flexdisplay: flex
.gn-blockdisplay: block
.gn-hiddendisplay: none

Todas disponibles también como sm:gn-hidden, md:gn-flex, lg:gn-grid

---

Grid — columnas

Activan CSS Grid y definen el número de columnas iguales. El sistema se basa en 4 columnas máximo; para distribuciones 1/4 + 3/4 o similares se usa gn-grid-4 con gn-col-span-*.

Clase CSS generado
.gn-grid-3grid-template-columns: repeat(3, 1fr)
.gn-grid-4grid-template-columns: repeat(4, 1fr)
.gn-grid-auto-fitauto-fit, minmax(250px, 1fr) — columnas que se ajustan solas
.gn-grid-auto-fillauto-fill, minmax(250px, 1fr)

Disponibles con prefijo responsive: sm:gn-grid-3, sm:gn-grid-4, md:gn-grid-3, md:gn-grid-4, lg:gn-grid-3, lg:gn-grid-4.

---

Column / Row span

Controlan cuántas columnas o filas ocupa un hijo dentro del grid.

Clase Valor
.gn-col-span-{1|2|3|4}grid-column: span N
.gn-col-fullgrid-column: 1 / -1 — siempre ancho completo
.gn-row-span-{1|2|3|4}grid-row: span N

Todos disponibles con prefijos sm:, md: y lg:.

---

Gap

Mapeado directamente a los tokens gn-spacing-*.

Clase Token Valor
.gn-gap-00
.gn-gap-1--gn-spacing-14 px
.gn-gap-2--gn-spacing-28 px
.gn-gap-3--gn-spacing-316 px
.gn-gap-4--gn-spacing-420 px
.gn-gap-5--gn-spacing-524 px
.gn-gap-6--gn-spacing-628 px
.gn-gap-7--gn-spacing-740 px
.gn-gap-8--gn-spacing-864 px

---

Ejemplos de uso

Layout de página con sidebar

Patrón 1/4 + 3/4 usando gn-grid-4 y gn-col-span-*. En móvil ambas columnas ocupan el ancho completo.

Contenido principal
Mostrar HTML
<div class="gn-grid gn-grid-4 gn-gap-5">
  <aside class="gn-col-span-1">Lateral</aside>
  <main class="gn-col-span-3">Contenido principal</main>
</div>

Grid de cards responsivo

Con gn-grid-3 las columnas se reparten en tres partes iguales.

Card 1
Card 2
Card 3
Mostrar HTML
<div class="gn-grid gn-grid-3 gn-gap-3">
  <div>Card 1</div>
  <div>Card 2</div>
  <div>Card 3</div>
</div>

Fila flex con alineación

Título de sección
Mostrar HTML
<div class="gn-flex gn-justify-between gn-items-center">
  <span>Título de sección</span>
  <div class="gn-flex gn-gap-2">
    <button class="gn-button gn-button--md gn-button--secondary">Cancelar</button>
    <button class="gn-button gn-button--md gn-button--primary">Guardar</button>
  </div>
</div>

Sección a ancho completo con container interior

Texto del hero (3/4)
Imagen (1/4)
Mostrar HTML
<section class="gn-container--flush">
  <div class="gn-container">
    <div class="gn-grid gn-grid-4 gn-gap-5">
      <div class="gn-col-span-3">Texto del hero (3/4)</div>
      <div class="gn-col-span-1">Imagen (1/4)</div>
    </div>
  </div>
</section>

Reordenación con order

Imagen — renderiza segundo
Texto — renderiza primero
Mostrar HTML
<div class="gn-grid gn-grid-4 gn-gap-5">
  <div class="gn-col-span-2 gn-order-last">Imagen</div>
  <div class="gn-col-span-2 gn-order-first">Texto</div>
</div>