Implementación de temas mult marca con variables CSS
Cambie entre varios temas de marca en tiempo de ejecución sustituyendo los valores de las propiedades personalizadas de CSS.
Implementación de temas mult marca con variables CSS es una lección gratuita de CSS 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 CSS Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CSS Academy incluye 4 lecciones en total.
Descripción general de la arquitectura de temas
La creación de temas para varias marcas asigna un único conjunto de tokens de alias de componentes a distintos valores de tokens globales para cada marca. Los componentes hacen referencia a tokens de alias; los archivos de tema de cada marca reasignan los alias a valores globales específicos de la marca.
Capa de tokens base
Defina los tokens globales en :root: todos los valores de color sin procesar, los valores de espaciado y los valores tipográficos. Esta es la marca predeterminada. Los componentes nunca hacen referencia directamente a los valores globales; siempre lo hacen a través de alias.
<span class="swatch swatch-primary"></span>
<span class="swatch swatch-secondary"></span>Capa de tokens de alias
Los tokens de alias hacen referencia a los valores globales mediante var(): --color-action: var(--color-brand-primary). Los componentes usan --color-action. Cambiar el significado de --color-brand-primary modifica todo el sistema.
Clases de tema de marca
Aplique los temas de marca con una clase en html o en un elemento contenedor. Cada clase de tema reemplaza los tokens globales dentro del ámbito de esa marca. Los componentes dentro del contenedor heredan automáticamente los valores de la marca.
<span class="swatch"></span>
<span class="theme-brand-a swatch"></span>
<span class="theme-brand-b swatch"></span>El modo oscuro como tema
El modo oscuro es una variante de tema: una clase o consulta de medios que reemplaza los tokens de color. Use prefers-color-scheme para el valor predeterminado del sistema operativo y una clase .dark para que el usuario lo sobrescriba. Ambos modifican los mismos tokens de alias.
<div class="surface">Themed surface</div>Herencia de tokens
Las propiedades personalizadas de CSS siguen la cascada y se heredan. Un tema aplicado a un elemento contenedor afecta a todos sus descendientes. Los temas anidados reemplazan a los temas externos en el nivel del contenedor, lo que resulta útil para escenarios en los que un widget dentro de una página tiene su propio tema.
Cómo evitar la filtración de tokens
Asegúrese de que los tokens de alias estén siempre definidos. Si falta una clase de tema, el alias debe recurrir correctamente a un valor predeterminado. Use la sintaxis de valores de respaldo de CSS var(): var(--color-action, #3b82f6) para evitar texto invisible o fondos ausentes.
Generación de archivos de tema
Style Dictionary puede generar archivos CSS de tema separados a partir de un JSON de tokens. El paso de compilación genera theme-brand-a.css y theme-brand-b.css. Cargue el archivo adecuado en tiempo de ejecución o compílelo en bundles separados para cada marca.
Pruebas de temas
Escriba pruebas de regresión visual que representen cada componente en cada tema. Percy y Chromatic capturan capturas de pantalla para cada variante de tema. Las pruebas visuales automatizadas detectan regresiones cuando los valores de los tokens globales cambian inesperadamente.
Cambio de tema en tiempo de ejecución
Alterne las clases de tema con JavaScript: document.documentElement.classList.replace("theme-a", "theme-b"). Las variables CSS se actualizan al instante sin volver a representar los componentes; no es necesario volver a representar React ni recalcular los valores estáticos de los estilos.
Consideraciones de rendimiento
Las variables CSS se resuelven en el momento del pintado; cambiar una variable raíz provoca el repintado de todos los elementos que la usan. Limite los cambios de variables globales a las interacciones del usuario, como alternar el tema, y no a bucles de animación. Use transiciones de propiedades individuales para los efectos de tematización animados.
Comprobación de conocimientos
¿Cómo permiten los temas basados en propiedades personalizadas de CSS cambiar de marca sin modificar el CSS de los componentes?
Resumen
La creación de temas para varias marcas separa los valores globales de tokens sin procesar de los tokens de alias semánticos. Las clases de tema reemplazan los valores globales dentro del ámbito de un contenedor. Los componentes que hacen referencia a alias reflejan automáticamente el tema de marca activo, lo que permite cambiar de marca en tiempo de ejecución sin modificar el código de los componentes.
Preguntas frecuentes
¿La lección «Implementación de temas mult marca con variables CSS» es gratis?
Sí — el texto completo de «Implementación de temas mult marca con variables CSS» 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 CSS Academy, actualiza a CoddyKit PRO. El curso de CSS Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Implementación de temas mult marca con variables CSS»?
Cambie entre varios temas de marca en tiempo de ejecución sustituyendo los valores de las propiedades personalizadas de CSS. Practicas CSS 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 CSS Academy?
No se requiere experiencia previa. CSS 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 «Implementación de temas mult marca con variables CSS»?
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 CSS Academy?
Sí. Cada lección de CSS 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
- Qué son los design tokens
- Convenciones para nombrar tokens
- Implementación de temas mult marca con variables CSS
- Herramientas para tokens: Style Dictionary