ATOM
Components (registry)Layout

Comparison Table

Layout template: comparison-table

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
{{section_id}}{{tagline}}{{heading}}{{description}}{{product_label}}{{prod1_icon}}{{prod1_icon_alt}}{{prod1_name}}{{prod1_desc}}{{prod2_icon}}{{prod2_icon_alt}}{{prod2_name}}{{prod2_desc}}{{prod3_icon}}{{prod3_icon_alt}}{{prod3_name}}{{prod3_desc}}{{feature1_label}}{{feature1_val1}}{{feature1_val2}}{{feature1_val3}}{{feature2_label}}{{feature3_label}}{{feature4_label}}{{feature5_label}}{{cta_primary_href}}{{cta_primary}}{{cta_secondary_href}}{{cta_secondary}}
Componentes requeridos
buttontypographyimage

Anatomía CSS

<div class="layoutComparisonTable">

</div>

Tokens resueltos

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

VariantePropValorToken
allfg#525252muted.foreground
allbgvar(--background-secondary)--background-secondary

CSS mínimo funcional

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

/* Layout: comparison-table — structure only, pure DS tokens */
.l-comparison-table {
  padding: 80px 32px;
}

.l-comparison-table__header {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 48px;
}

@media (min-width: 768px) {
  .l-comparison-table__header {
    margin-bottom: var(--spacing-18);
  }
}

@media (min-width: 1024px) {
  .l-comparison-table__header {
    margin-bottom: 80px;
  }
}

.l-comparison-table__tagline {
  font-size: 12.8px;
  font-weight: 600;
  color: #525252;
  margin-bottom: 12px;
}

.l-comparison-table__heading {
  font-size: 48.83px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0a0a0a;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .l-comparison-table__heading {
    font-size: 61.04px;
    line-height: 1.1;
    margin-bottom: 24px;
  }
}

@media (min-width: 1024px) {
  .l-comparison-table__heading {
    font-size: 76.29px;
    line-height: 1.05;
  }
}

.l-comparison-table__description {
  font-size: 16px;
  line-height: 1.5;
  color: #525252;
}

@media (min-width: 768px) {
  .l-comparison-table__description {
    font-size: 20px;
    line-height: 1.45;
  }
}

.l-comparison-table__products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .l-comparison-table__products {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }
}

.l-comparison-table__product-label {
  display: none;
}

@media (min-width: 768px) {
  .l-comparison-table__product-label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 16px 16px 16px 0;
  }
}

.l-comparison-table__product-label-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .l-comparison-table__product-label-text {
    font-size: 25px;
  }
}

.l-comparison-table__product {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 16px 8px;
}

@media (min-width: 768px) {
  .l-comparison-table__product {
    padding: 16px 16px;
  }
}

@media (min-width: 1024px) {
  .l-comparison-table__product {
    padding: 24px;
  }
}

.l-comparison-table__product-icon {
  width: 3rem;
  height: 3rem;
  margin-bottom: 8px;
}

.l-comparison-table__product-name {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4px;
}

@media (min-width: 768px) {
  .l-comparison-table__product-name {
    font-size: 25px;
  }
}

.l-comparison-table__product-desc {
  font-size: 12.8px;
  color: #525252;
}

.l-comparison-table__features {
  /* rows below */
}

.l-comparison-table__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
}

@media (min-width: 768px) {
  .l-comparison-table__row {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }
}

.l-comparison-table__row--alt {
  background-color: var(--background-secondary);
}

.l-comparison-table__feature-label {
  grid-column: 1 / -1;
  padding: 16px;
  font-size: 16px;
}

@media (min-width: 768px) {
  .l-comparison-table__feature-label {
    grid-column: 1;
    padding: 16px 24px;
  }
}

.l-comparison-table__feature-value {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 8px;
  text-align: center;
  font-weight: 600;
  font-size: 16px;
}

@media (min-width: 768px) {
  .l-comparison-table__feature-value {
    padding: 16px 24px;
  }
}

.l-comparison-table__check,
.l-comparison-table__x {
  width: 1.5rem;
  height: 1.5rem;
}

.l-comparison-table__actions {
  margin-top: 48px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

@media (min-width: 768px) {
  .l-comparison-table__actions {
    margin-top: var(--spacing-18);
  }
}

@media (min-width: 1024px) {
  .l-comparison-table__actions {
    margin-top: 80px;
  }
}

Codigo fuente

layouts/comparison-table.css
/* Layout: comparison-table — structure only, pure DS tokens */
.l-comparison-table {
  padding: var(--spacing-20) var(--spacing-8);
}

.l-comparison-table__header {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  margin-bottom: var(--spacing-12);
}

@media (min-width: 768px) {
  .l-comparison-table__header {
    margin-bottom: var(--spacing-18);
  }
}

@media (min-width: 1024px) {
  .l-comparison-table__header {
    margin-bottom: var(--spacing-20);
  }
}

.l-comparison-table__tagline {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--muted-foreground);
  margin-bottom: var(--spacing-3);
}

.l-comparison-table__heading {
  font-size: var(--font-size-4xl);
  line-height: var(--line-height-4xl);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-tight);
  color: var(--foreground);
  margin-bottom: var(--spacing-5);
}

@media (min-width: 768px) {
  .l-comparison-table__heading {
    font-size: var(--font-size-5xl);
    line-height: var(--line-height-5xl);
    margin-bottom: var(--spacing-6);
  }
}

@media (min-width: 1024px) {
  .l-comparison-table__heading {
    font-size: var(--font-size-6xl);
    line-height: var(--line-height-6xl);
  }
}

.l-comparison-table__description {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--muted-foreground);
}

@media (min-width: 768px) {
  .l-comparison-table__description {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
}

.l-comparison-table__products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: var(--spacing-4);
}

@media (min-width: 768px) {
  .l-comparison-table__products {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }
}

.l-comparison-table__product-label {
  display: none;
}

@media (min-width: 768px) {
  .l-comparison-table__product-label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: var(--spacing-4) var(--spacing-4) var(--spacing-4) 0;
  }
}

.l-comparison-table__product-label-text {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
}

@media (min-width: 768px) {
  .l-comparison-table__product-label-text {
    font-size: var(--font-size-xl);
  }
}

.l-comparison-table__product {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--spacing-4) var(--spacing-2);
}

@media (min-width: 768px) {
  .l-comparison-table__product {
    padding: var(--spacing-4) var(--spacing-4);
  }
}

@media (min-width: 1024px) {
  .l-comparison-table__product {
    padding: var(--spacing-6);
  }
}

.l-comparison-table__product-icon {
  width: 3rem;
  height: 3rem;
  margin-bottom: var(--spacing-2);
}

.l-comparison-table__product-name {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  margin-bottom: var(--spacing-1);
}

@media (min-width: 768px) {
  .l-comparison-table__product-name {
    font-size: var(--font-size-xl);
  }
}

.l-comparison-table__product-desc {
  font-size: var(--font-size-sm);
  color: var(--muted-foreground);
}

.l-comparison-table__features {
  /* rows below */
}

.l-comparison-table__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
}

@media (min-width: 768px) {
  .l-comparison-table__row {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }
}

.l-comparison-table__row--alt {
  background-color: var(--background-secondary);
}

.l-comparison-table__feature-label {
  grid-column: 1 / -1;
  padding: var(--spacing-4);
  font-size: var(--font-size-base);
}

@media (min-width: 768px) {
  .l-comparison-table__feature-label {
    grid-column: 1;
    padding: var(--spacing-4) var(--spacing-6);
  }
}

.l-comparison-table__feature-value {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-4) var(--spacing-2);
  text-align: center;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-base);
}

@media (min-width: 768px) {
  .l-comparison-table__feature-value {
    padding: var(--spacing-4) var(--spacing-6);
  }
}

.l-comparison-table__check,
.l-comparison-table__x {
  width: 1.5rem;
  height: 1.5rem;
}

.l-comparison-table__actions {
  margin-top: var(--spacing-12);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-4);
}

@media (min-width: 768px) {
  .l-comparison-table__actions {
    margin-top: var(--spacing-18);
  }
}

@media (min-width: 1024px) {
  .l-comparison-table__actions {
    margin-top: var(--spacing-20);
  }
}

On this page

Detalles

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

Componente

Layout/comparisonTable

Source

components-react / cssDisponible via MCP: atom_uikit_source("layout/comparison-table")