ATOM
Components (registry)Layout

Feature Grid

Layout template: feature-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
{{eyebrow}}{{heading}}{{body}}{{feature_1_title}}{{feature_1_body}}{{feature_2_title}}{{feature_2_body}}{{feature_3_title}}{{feature_3_body}}
Componentes requeridos
badge

Anatomía CSS

<div class="layoutFeatureGrid">

</div>

Tokens resueltos

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

VariantePropValorToken
allborder#e5e5e5border

CSS mínimo funcional

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

/* Layout: feature-grid — structure only */
.l-feature-grid {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 80px 32px;
}
.l-feature-grid__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
}
.l-feature-grid__heading { max-width: 560px; }
.l-feature-grid__body { max-width: 480px; }
.l-feature-grid__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 768px) {
  .l-feature-grid__grid { grid-template-columns: 1fr; }
}
.l-feature-grid__card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  border-radius: 12px;
  border: 1px solid #e5e5e5;
}
.l-feature-grid__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

Codigo fuente

layouts/feature-grid.css
/* Layout: feature-grid — structure only */
.l-feature-grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
  padding: var(--spacing-20) var(--spacing-8);
}
.l-feature-grid__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--spacing-3);
}
.l-feature-grid__heading { max-width: 560px; }
.l-feature-grid__body { max-width: 480px; }
.l-feature-grid__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-6);
}
@media (max-width: 768px) {
  .l-feature-grid__grid { grid-template-columns: 1fr; }
}
.l-feature-grid__card {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  padding: var(--spacing-6);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
}
.l-feature-grid__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

On this page

Detalles

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

Componente

Layout/featureGrid

Source

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