Saltar al contenido

Relaciones

Estilos de texto como capa

Por qué los estilos de texto son la capa semántica de la tipografía en DesignToken101, cómo se resuelve un estilo hasta sus primitivos y qué pasa con el texto que queda sin estilo.

Última revisión:

En el módulo 1 viste que un estilo de texto agrupa varias decisiones tipográficas, y en el módulo 2 creaste los primitivos de tipografía, ocultos al publicar. Falta la pieza que los une: en DesignToken101, los estilos de texto son la capa semántica de la tipografía. En esta lección verás qué capa ocupa cada parte de un estilo, cómo se resuelve hasta sus primitivos y por qué ningún texto debería quedar sin estilo.

En esta página

El estilo es el semántico

Un semántico de color dice para qué se usa un color. Un estilo de texto hace lo mismo con la tipografía: heading/2 dice que es un título de apartado, no que mide 32 px ni que pesa 600.

ColorTipografía
Primitivoscolor/emerald/700font-family/sans, font-size/06, font-weight/600
Capa semánticacolor/text/accent/defaultEl estilo de texto heading/2
Lo que aplicas al diseñoEl semánticoEl estilo

La diferencia es la forma. Figma no tiene variables compuestas: para reunir familia, tamaño, peso e interlineado en una sola decisión, usa un estilo (Figma: Overview of variables). Lo viste en Tipos compuestos y estilos. En DTCG, esa decisión sería un token typography con referencias a los primitivos.

Los diez estilos

Se nombran por su rol, no por su tamaño:

EstiloTamaño (Desktop · Mobile)PesoUso
heading/140 · 32700Título de la lección
heading/232 · 24600Apartados
heading/324 · 20600Subapartados
heading/420 · 20600Títulos menores
body/default16 · 16400Texto de lectura
body/strong16 · 16600Texto destacado dentro del texto de lectura
body/small14 · 14400Texto secundario, tablas
label/default14 · 14500Sidebar, botones, etiquetas
caption/default12 · 12400Fechas de revisión, notas, pies de los gráficos
code/default14 · 14400Bloques y código en línea (JetBrains Mono)

Todos usan Inter, salvo code/default. Los tamaños cambian entre Desktop y Mobile: lo verás en Crear la colección Layout, en el módulo Modos y temas.

De un estilo a sus primitivos

Cada propiedad del estilo se resuelve por un camino distinto. Así queda heading/1 en Desktop:

PropiedadLo que aplica el estiloApunta aValor
Familiafont-family/sans (primitivo)No apunta a nadaInter
Tamañofont-size/heading/1 (semántico, colección Layout)font-size/0740 px
Pesofont-weight/700 (primitivo)No apunta a nada700
Interlineado120 %, sin variableNo aplica120 %

Tres cosas que mirar en la tabla:

  • El tamaño tiene su propio semántico. font-size/heading/1 existe porque el tamaño del título cambia con el ancho de pantalla, y un semántico puede apuntar a un primitivo distinto en cada modo. La familia y el peso no cambian, así que el estilo aplica el primitivo directamente.
  • La cadena más larga tiene dos saltos: estilo → font-size/heading/1 → font-size/07. Cumple el límite de Las capas.
  • El interlineado no es una variable. Figma lee una variable de interlineado como píxeles, así que el estilo usa un porcentaje escrito a mano y el token vive en código (Tipografía).

Recomendación

En DesignToken101, un estilo aplica un primitivo directamente cuando la propiedad no cambia nunca, y un semántico cuando cambia con un modo. Es la misma regla de todo el módulo, aplicada propiedad a propiedad: la capa semántica existe donde hay una decisión que puede cambiar.

Un texto sin estilo es un valor suelto

Si un texto del diseño tiene su tamaño y su peso aplicados a mano, sin estilo, es el equivalente de un hex escrito a mano: funciona, pero no responde a ningún cambio del sistema.

El caso más frecuente es la negrita. En Figma, poner en negrita una parte de un párrafo separa ese fragmento de su estilo de texto: queda sin estilo, aunque el resto del párrafo lo tenga. Lo comprobamos en el archivo de DesignToken101. Por eso existe body/strong: el texto destacado tiene su propio estilo y sigue ligado al sistema.

Nota

En código no cambia nada: <strong> hereda el tamaño y el interlineado del párrafo y aplica el peso 600. body/strong existe para que el diseño en Figma no tenga fragmentos sueltos.

En Figma

Los estilos de texto no son variables, así que puedes crearlos ya con tus primitivos tipográficos del módulo 2. En DesignToken101, cada estilo vincula sus propiedades a variables (Figma: Apply variables to designs):

  1. Crea el estilo de texto con su nombre, por ejemplo heading/1.
  2. En la familia, aplica la variable font-family/sans.
  3. En el tamaño, aplica font-size/heading/1, de la colección Layout. Si aún no tienes esa colección, aplica de momento el primitivo (font-size/07) y cámbialo en el módulo Modos y temas (Vincular los estilos de texto): con el primitivo, el estilo no cambia en Mobile.
  4. En el peso, aplica font-weight/700.
  5. En el interlineado, escribe 120 %.

Los semánticos de tamaño de texto están en la colección Layout, con los modos Desktop y Mobile, y cada uno apunta a un primitivo font-size/*. Los crearás en el módulo Modos y temas (Crear la colección Layout), cuando veas cómo funcionan los modos.

Aviso

La exportación DTCG de Figma incluye las variables, pero no los estilos de texto. La combinación que forma cada estilo necesita su propia fuente en código. En DesignToken101 es la tabla de estilos de la especificación, y una comprobación automática vigila que el CSS coincida (Tipos compuestos y estilos).

Lo que te llevas

  • El estilo de texto es el semántico de la tipografía: se nombra por su rol.
  • Cada propiedad se resuelve por su camino; solo el tamaño, que cambia con el modo, tiene semántico propio.
  • Un texto sin estilo es un valor suelto: por eso existe body/strong.

Fuentes