0Pricing
CSS Academy · Lección

Valores de reserva y var()

Proporcione valores de reserva en var() para cuando una propiedad personalizada no esté definida o no sea válida.

Valores de reserva y var() es una lección gratuita de CSS Academy en CoddyKit. Esta es la lección 2 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.

Sintaxis de reserva de var()

La función var() acepta un segundo argumento opcional como valor de reserva, que se utiliza cuando la propiedad personalizada no está definida.

<button class="button">Fallback: royalblue</button>

Cuándo se aplican los valores de reserva

El valor de reserva se utiliza cuando:

  • La propiedad no está definida en el ámbito correspondiente
  • La propiedad tiene el valor initial
  • La propiedad se declaró con un valor no válido para su contexto

Varios niveles de reserva

Anide llamadas a var() para encadenar varios niveles de reserva:

<p class="text">Falls through two levels to #3b82f6</p>

La reserva puede ser cualquier valor

Los valores de reserva pueden ser cualquier valor válido para la propiedad, incluidas otras variables, valores calculados o literales:

<div class="card">16px / 50%</div>

La palabra clave initial

Establecer una propiedad personalizada en initial hace que sea como si nunca se hubiera establecido. Combinado con un valor de reserva, esto permite que los componentes dejen de utilizar una propiedad personalizada heredada.

<div class="no-theme">
  <button class="button">Falls back to gray</button>
</div>

Valor no válido garantizado

Utilizar initial como valor de una propiedad personalizada es una técnica para garantizar que se active el valor de reserva. Esto puede crear indicadores de funciones opcionales en CSS.

Propiedad personalizada + @property

La regla @property (Houdini) registra una propiedad personalizada tipada con un valor inicial garantizado. Esto es más sólido que depender de valores de reserva.

<div class="track">
  <div class="bar"></div>
</div>

Valor de reserva seguro para animaciones

Asegúrese de que las transiciones funcionen incluso cuando no se haya establecido una propiedad personalizada, proporcionando un valor de reserva seguro desde el que se pueda realizar la transición:

<div class="modal">Modal shown via --modal-opacity: 1 (fallback is 0 when unset)</div>

Depuración de variables ausentes

Si falta una propiedad personalizada y no se proporciona ningún valor de reserva, la propiedad se calcula como su valor inicial (a menudo la palabra clave initial). En el caso de los colores, esto puede producir resultados inesperados, como transparente o negro. Añada siempre valores de reserva a las propiedades críticas.

var() en propiedades personalizadas

Los valores de las propiedades personalizadas pueden hacer referencia a otras propiedades personalizadas, creando una cadena de tokens:

<div class="swatch swatch-primary"></div>
<div class="swatch swatch-light"></div>

Valores de respaldo y especificidad

Los valores de respaldo no tienen nada que ver con la especificidad: solo se aplican cuando la propiedad personalizada referenciada no está definida o no es válida. La especificidad determina qué regla establece la propiedad personalizada, no qué valor de respaldo tiene prioridad.

Comprobación rápida

¿Qué hace color: var(--theme-text, #111) cuando --theme-text no está definida?

Resumen

var(--name, fallback) proporciona un valor de respaldo cuando la propiedad personalizada no está definida. Los valores de respaldo se pueden anidar para crear varios niveles. Use @property para definir propiedades personalizadas tipadas con valores iniciales garantizados. Proporcione siempre valores de respaldo para las propiedades visuales críticas.

Preguntas frecuentes

¿La lección «Valores de reserva y var()» es gratis?

Sí — el texto completo de «Valores de reserva y var()» 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 «Valores de reserva y var()»?

Proporcione valores de reserva en var() para cuando una propiedad personalizada no esté definida o no sea válida. 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 2 de 4.

¿Cuánto tiempo toma la lección «Valores de reserva y var()»?

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

  1. Declaración y uso de propiedades personalizadas
  2. Valores de reserva y var()
  3. Alcance de variables para componentes
  4. Actualización de variables con JavaScript
← Volver a CSS Academy