0Pricing
React Academy · Lección

Tokens en Tailwind, variables CSS y CSS-in-JS

Integre tokens generados en la configuración de Tailwind, propiedades personalizadas de CSS y temas de Emotion o styled-components.

Tokens en Tailwind, variables CSS y CSS-in-JS es una lección gratuita de React Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de React Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de React Academy incluye 4 lecciones en total.

Salida de propiedades personalizadas de CSS

La salida de la plataforma CSS de Style Dictionary genera un archivo de propiedades personalizadas de CSS: --color-primary-500: #3b82f6; --spacing-4: 16px;, entre otras. Estas variables se definen en :root, por lo que están disponibles globalmente. Esta es la base para utilizar todos los tokens en la aplicación.

Importación global de tokens

Importe el archivo de tokens CSS generado en la hoja de estilos global o en el componente de diseño raíz: @import './tokens/tokens.css'. En Next.js, impórtelo en app/layout.tsx o styles/globals.css. Una vez importado, todas las reglas CSS y los componentes de la aplicación pueden hacer referencia a las propiedades personalizadas.

Uso de tokens en CSS

Haga referencia a las variables CSS en las hojas de estilos de los componentes o en los módulos CSS: background-color: var(--color-primary-500); y padding: var(--spacing-4);. Si el valor del token cambia en el origen JSON, volver a compilar Style Dictionary actualiza el archivo CSS y todos los componentes que utilizan esa variable reflejan automáticamente el nuevo valor.

Tematización en tiempo de ejecución con variables CSS

Las propiedades personalizadas de CSS permiten cambiar de tema en tiempo de ejecución. Para el modo oscuro, sobrescriba los valores de los tokens bajo un selector de tema: [data-theme="dark"] { --color-background: #1a1a2a; --color-text: #f0f0f0; }. Establecer document.documentElement.setAttribute('data-theme', 'dark') cambia instantáneamente todos los valores de los tokens sin recargar ni volver a compilar.

Extensión de la configuración de Tailwind

Amplíe el tema de Tailwind en tailwind.config.js para utilizar los valores de los tokens: theme: { extend: { colors: { primary: { 500: tokenOutput.color.primary[500] } } } }. Importe la salida de JavaScript de Style Dictionary en la configuración de Tailwind para garantizar que las clases de Tailwind (bg-primary-500) utilicen siempre los valores de tokens autorizados.

Tailwind con valores de variables CSS

Para utilizar temas que se puedan cambiar en tiempo de ejecución con Tailwind, configure el color para que haga referencia a una variable CSS: 'primary': 'rgb(var(--color-primary-rgb) / <alpha-value>)'. Esto requiere que la variable CSS almacene los componentes RGB sin el contenedor rgb() (--color-primary-rgb: 59 130 246). De este modo, Tailwind gestiona automáticamente las utilidades de opacidad.

Integración con Emotion y Styled-Components

Las bibliotecas CSS-in-JS utilizan un objeto de tema de JavaScript. Pase la salida de Style Dictionary como valor del proveedor de temas: <ThemeProvider theme={tokens}>. Los componentes acceden a los tokens mediante const theme = useTheme() y theme.color.primary[500]. Style Dictionary genera el objeto de tokens tipado y el proveedor de temas lo distribuye.

Imposición del uso de tokens mediante reglas de lint

El complemento stylelint-no-hardcoded-colors y las reglas personalizadas de ESLint pueden imponer que no aparezcan valores hexadecimales codificados directamente en las hojas de estilos ni en los archivos de componentes. Si un desarrollador escribe color: #3b82f6 en lugar de color: var(--color-primary-500), el linter lo señala. Esto mantiene el sistema de tokens como única fuente de colores.

Safelist de Tailwind para tokens dinámicos

Cuando los nombres de las clases de Tailwind se construyen dinámicamente a partir de nombres de tokens en tiempo de ejecución, el proceso de purga de Tailwind puede eliminar esas clases porque no aparecen como cadenas estáticas en el código fuente. Añada los patrones de clases dinámicas a safelist en tailwind.config.js: safelist: [{ pattern: /bg-primary-/ }].

Flujo de trabajo del complemento Figma Tokens

El complemento Figma Tokens exporta directamente los valores de tokens de Figma al formato JSON de Style Dictionary. El flujo de trabajo es el siguiente: los diseñadores actualizan los colores en Figma Variables, los exportan mediante el complemento, se confirma el JSON actualizado, el script de precompilación ejecuta Style Dictionary y las salidas CSS y JS actualizadas se utilizan en la aplicación de React. El diseño y el código permanecen sincronizados.

Sobrescrituras de tokens con ámbito

Las propiedades personalizadas de CSS tienen como ámbito el elemento en el que se definen y sus descendientes. Esto permite realizar sobrescrituras del tema a nivel de componente: un componente de tarjeta puede establecer --color-background: var(--color-surface-elevated) en su elemento raíz, y todos los descendientes utilizan el color de superficie elevada sin necesidad de pasar propiedades por toda la cadena de componentes.

Propiedades personalizadas de CSS frente a Tailwind para tokens

¿Cuál es la principal ventaja de utilizar propiedades personalizadas de CSS (variables) para los tokens de diseño frente a los valores estáticos de Tailwind?

Resumen de la lección

Style Dictionary genera propiedades personalizadas de CSS para importarlas globalmente y objetos JS para integrarlos con Tailwind y CSS-in-JS. Las variables CSS permiten cambiar de tema en tiempo de ejecución mediante sobrescrituras de [data-theme]. Tailwind amplía su configuración con valores de tokens de la salida JS; para crear temas compatibles con la opacidad, configure Tailwind para que haga referencia a variables CSS RGB. Las reglas de lint imponen el uso exclusivo de tokens para los colores y evitan los valores codificados directamente en el código base.

Preguntas frecuentes

¿La lección «Tokens en Tailwind, variables CSS y CSS-in-JS» es gratis?

Sí — el texto completo de «Tokens en Tailwind, variables CSS y CSS-in-JS» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de React Academy, actualiza a CoddyKit PRO. El curso de React Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Tokens en Tailwind, variables CSS y CSS-in-JS»?

Integre tokens generados en la configuración de Tailwind, propiedades personalizadas de CSS y temas de Emotion o styled-components. Practicas React Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar React Academy?

No se requiere experiencia previa. React Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Tokens en Tailwind, variables CSS y CSS-in-JS»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de React Academy?

Sí. Cada lección de React Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué son los tokens de diseño y por qué importan
  2. Style Dictionary: transformación y generación de tokens
  3. Tokens en Tailwind, variables CSS y CSS-in-JS
  4. Arquitectura de tokens para múltiples temas y marcas
← Volver a React Academy