ATOM
Components (registry)Layout

Gallery Grid

Layout template: gallery-grid

Contrato del layout

Un layout transporta anatomia, no pintura: se rellena por slots y depende del CSS de los componentes que lista. Instalarlo sin ellos lo deja sin estilos.

Slots
{{headline}}{{image1}}{{caption1}}{{image2}}{{caption2}}{{image3}}{{caption3}}{{image4}}{{caption4}}{{image5}}{{caption5}}{{image6}}{{caption6}}
Componentes requeridos
imagetypography

Anatomía CSS

<div class="layoutGalleryGrid">

</div>

Tokens resueltos

Valores finales tras seguir la cadena de tokens. Derivados del source: si un token cambia, esta tabla cambia sola.

VariantePropValorToken
allbgrgba(0,0,0,0.6)(literal)
allfgwhite(unparsed)

CSS mínimo funcional

Autocontenido: sin imports ni tokens. Para previews y prototipos — en producción se consume el CSS del DS.

/* Layout: gallery-grid — structure only */
.l-gallery-grid {
  padding: 48px 32px;
}
.l-gallery-grid__header {
  text-align: center;
  margin-bottom: 32px;
}
.l-gallery-grid__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 768px) {
  .l-gallery-grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .l-gallery-grid__grid {
    grid-template-columns: 1fr;
  }
}
.l-gallery-grid__item {
  position: relative;
}
.l-gallery-grid__item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
}
.l-gallery-grid__caption {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background: rgba(0,0,0,0.6);
  color: white;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: var(--text-xs);
}

Codigo fuente

layouts/gallery-grid.css
/* Layout: gallery-grid — structure only */
.l-gallery-grid {
  padding: var(--spacing-12) var(--spacing-8);
}
.l-gallery-grid__header {
  text-align: center;
  margin-bottom: var(--spacing-8);
}
.l-gallery-grid__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-4);
}
@media (max-width: 768px) {
  .l-gallery-grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .l-gallery-grid__grid {
    grid-template-columns: 1fr;
  }
}
.l-gallery-grid__item {
  position: relative;
}
.l-gallery-grid__item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-lg);
}
.l-gallery-grid__caption {
  position: absolute;
  bottom: var(--spacing-2);
  left: var(--spacing-2);
  background: rgba(0,0,0,0.6);
  color: white;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  font-size: var(--text-xs);
}

On this page

Detalles

Publicado14 de mayo de 2026
Categorialayout
Lectura...
Visitas...
Ayuda?Slack

Componente

Layout/galleryGrid

Source

components-react / cssDisponible via MCP: atom_uikit_source("layout/gallery-grid")