¿Se pueden modificar los valores de las variables CSS dinámicamente con JavaScript?

¡Sí! Aprende cómo modificar variables CSS dinámicamente con JavaScript usando element.style.setProperty('--variable', 'valor') para interactividad.

LucusHost, el mejor hosting

Los valores de las variables CSS (propiedades personalizadas) se pueden modificar dinámicamente utilizando JavaScript, lo que ofrece una gran flexibilidad para crear interacciones y adaptar estilos en tiempo real.

Dado que las variables CSS son, en esencia, propiedades CSS, puedes acceder a ellas y cambiarlas a través del objeto style de los elementos DOM. El método principal para esto es setProperty().

Para modificar una variable CSS global (definida en :root):

Puedes acceder al elemento raíz del documento (document.documentElement, que representa la etiqueta <html>) y modificar su estilo.

/* En tu archivo CSS */
:root {
  --color-primario: blue;
  --tamano-fuente-base: 16px;
}Lenguaje del código: PHP (php)
// En tu archivo JavaScript
// Cambiar el color primario a verde
document.documentElement.style.setProperty('--color-primario', 'green');

// Cambiar el tamaño de fuente base
document.documentElement.style.setProperty('--tamano-fuente-base', '18px');Lenguaje del código: PHP (php)

Para modificar una variable CSS local (definida en un elemento específico):

Primero seleccionas el elemento deseado y luego modificas su style.

/* En tu archivo CSS */
.mi-componente {
  --color-fondo-componente: lightgray;
}Lenguaje del código: PHP (php)
// En tu archivo JavaScript
const miComponente = document.querySelector('.mi-componente');
if (miComponente) {
  miComponente.style.setProperty('--color-fondo-componente', 'skyblue');
}Lenguaje del código: PHP (php)

Ventajas de esta capacidad:

  • Temificación interactiva: Permite a los usuarios cambiar temas (ej. modo claro/oscuro) al instante.
  • Estilos dinámicos: Ajustar la apariencia en respuesta a interacciones del usuario (como mover el ratón, hacer scroll) o cambios de estado de la aplicación.
  • Visualizaciones de datos: Reflejar valores de JavaScript directamente en propiedades visuales.

Cuando cambias el valor de una variable CSS con JavaScript, cualquier elemento que esté utilizando esa variable a través de la función var() se actualizará automáticamente para reflejar el nuevo valor, aprovechando la reactividad del navegador.

¿Tienes alguna duda o pregunta?Envía el formulario y procuraré darle respuesta
Formulario de pregunta
Responsable » Jose Ramón Bernabeu Guillem. Finalidad » Ponernos en contacto. Legitimación » Tu consentimiento al marcar la casilla verificación. Destinatarios » Los datos que proporciones estarán ubicados en los servidores de LucusHost, proveedor de hosting de este sitio. Derechos » por supuesto tendrás derecho, entre otros, a acceder, rectificar, limitar y suprimir tus datos.
Si creees que esto puede ser de utilidad a alguien más, pues... compártelo que es gratis 🙂
Sitio alojado en un servidor verde según The Green Web Foundation

LucusHost, el mejor hosting

Aviso legal | Condiciones de contratación | Política de privacidad | Política de cookies
© 2017-2025 · Jose R. Bernabeu ·
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram