Utilidades

Grids proporcionales

Los grids proporcionales de FDS son utilidades @utility para crear columnas con relaciones tipo 1fr 2fr, 2fr 1fr o 1fr 2fr 1fr sin escribir valores arbitrarios. Son utiles para layouts editoriales, sidebars, comparativas y composiciones donde una columna debe dominar.


Dos columnas

ClaseProporcionUso habitual
grid-cols-1-21fr 2frSidebar pequena + contenido principal
grid-cols-2-12fr 1frContenido principal + aside
grid-cols-1-31fr 3frAside muy secundaria
grid-cols-3-13fr 1frContenido editorial amplio
grid-cols-1-41fr 4frNavegacion lateral estrecha
grid-cols-4-14fr 1frFicha principal + metadata
grid-cols-2-32fr 3frDos columnas cercanas pero no iguales
grid-cols-3-23fr 2frVariante inversa

Grid proporcional

Preview renderizado con el CSS compilado de FDS

<div class="grid gap-block">
  <div class="grid grid-cols-1-2 gap-columns">
    <aside class="card card-outline">
      <span class="eyebrow">1fr</span>
      <h3 class="subheading-sm">Apoyo</h3>
      <p class="text-small">Sidebar, indice o metadata.</p>
    </aside>
    <main class="card card-elevated">
      <span class="eyebrow">2fr</span>
      <h3 class="subheading-sm">Contenido principal</h3>
      <p class="text-medium">
        La columna dominante recibe mas ancho sin tener que definir porcentajes.
      </p>
    </main>
  </div>
</div>

Tres columnas

ClaseProporcion
grid-cols-1-2-11fr 2fr 1fr
grid-cols-1-1-21fr 1fr 2fr
grid-cols-2-1-12fr 1fr 1fr
grid-cols-2-1-22fr 1fr 2fr
grid-cols-1-2-21fr 2fr 2fr
grid-cols-2-2-12fr 2fr 1fr
grid-cols-1-3-11fr 3fr 1fr
grid-cols-1-1-31fr 1fr 3fr
grid-cols-3-1-13fr 1fr 1fr
grid-cols-1-4-11fr 4fr 1fr
grid-cols-1-1-41fr 1fr 4fr
grid-cols-4-1-14fr 1fr 1fr
grid-cols-1-3-21fr 3fr 2fr
grid-cols-2-3-12fr 3fr 1fr
grid-cols-1-2-31fr 2fr 3fr
grid-cols-2-1-32fr 1fr 3fr
grid-cols-3-2-13fr 2fr 1fr
grid-cols-3-1-23fr 1fr 2fr

Casos de uso

<div class="grid grid-cols-1-3 gap-columns">
  <aside class="card card-outline">Indice</aside>
  <article class="prose">Contenido largo</article>
</div>

Hero dividido

<section>
  <div>
    <div class="grid grid-cols-1-2 gap-columns items-center">
      <div class="content-flex top-left">
        <h1 class="display-sm">Titulo</h1>
        <p class="text-large">Entradilla de la seccion.</p>
      </div>
      <img src="..." alt="" />
    </div>
  </div>
</section>

Comparativa

<div class="grid grid-cols-1-2-1 gap-columns">
  <div class="card card-outline">Basico</div>
  <div class="card card-elevated">Recomendado</div>
  <div class="card card-outline">Avanzado</div>
</div>

Mobile y responsive

Las utilidades solo definen columnas. Para mobile, combinalas con prefijos responsive de Tailwind:

<div class="grid gap-columns md:grid-cols-1-2">
  <aside>Sidebar</aside>
  <main>Contenido</main>
</div>

Asi el layout queda en una columna por defecto y pasa a proporcion en md.

Todas las columnas usan minmax(0, Nfr) para reducir el riesgo de overflow cuando hay texto largo, imagenes o contenido que de otro modo intentaria forzar el ancho.


Cuando no usarlos

SituacionMejor alternativa
Listado de cards repetiblesgrid-auto-fill-* o grid-auto-fit-*
Columnas iguales simplesgrid-cols-2, grid-cols-3, etc.
Layout que depende del numero de itemsAuto-grid
Microalineaciones internasFlex o utilidades locales
Previous
Content Flex