CSS Variables
Las variables CSS juegan un papel central en la personalización de la apariencia de los componentes de webforJ. Estas variables almacenan valores reutilizables, como colores, tamaños de fuente y espaciado, que se pueden aplicar de manera consistente en su aplicación.
A diferencia de los enfoques tradicionales que dependían de preprocesadores CSS como SASS o LESS, las variables CSS permiten un estilo dinámico en tiempo de ejecución. Reducen la repetición, mejoran el mantenimiento y facilitan la lectura y gestión de las hojas de estilo.
Definiendo variables CSS
Las variables CSS se definen utilizando un prefijo de doble guion (--), y se pueden limitar dentro de cualquier selector CSS. Sin embargo, la práctica más común es definirlas en el selector :root, que las delimita globalmente.
:root {
--app-background: orange;
}
:rootLa pseudo-clase :root apunta al elemento raíz del documento—típicamente <html> en HTML. Se comporta como html, pero con mayor especificidad.
Las variables CSS pueden contener cualquier cadena, no solo valores CSS válidos. Esta flexibilidad es particularmente útil al trabajar con JavaScript.
html {
--app-title: webforJ;
}
Variables específicas de componentes
Para definir o anular una variable para un componente específico, declárela dentro del selector del componente:
dwc-button {
--dwc-button-font-weight: 400;
}
Cada componente de webforJ admite un conjunto específico de variables CSS que controlan su apariencia. Estas se documentan en la sección Estilos > Propiedades CSS para cada componente.
Usando variables CSS
Use la función var() para aplicar el valor de una variable en sus estilos:
.panel {
background-color: var(--app-background);
}
También puede especificar un valor de respaldo en caso de que la variable no esté definida:
.frame {
background-color: var(--app-background, red);
}
Manipulando variables con webforJ
Las variables CSS se pueden actualizar dinámicamente a través de la API de webforJ, lo que permite estilos en tiempo real:
// Establecer una variable CSS
button.setStyle('--dwc-button-font-weight', '400');
webforJ le permite ejecutar JavaScript del lado del cliente utilizando la API de Página o Elemento. Esto significa que puede manipular dinámicamente las variables CSS en tiempo de ejecución, como lo haría en aplicaciones web estándar.
// Establecer una variable CSS
const el = document.querySelector('dwc-button');
el.style.setProperty('--dwc-button-font-weight', '400');
// Obtener una variable CSS
const value = el.style.getPropertyValue('--dwc-font-size-m');