Una introducción a las propiedades personalizadas de CSS

Jan 28, 2026
Cómo
[dieciséis]

Una de las mejores características únicas de los procesadores CSS es variables. Tener la capacidad de declarar una vez y reutilizar la variable a través de su proyecto no debe ser opcional en ningún sistema.

  • 5 Características de CSS nuevas calientes y cómo usarlas.

Usando un preprocesador como Hablar con descaro a (Descubre más en nuestro artículo. ¿En qué es SASS? ) le da al menos un paso de construcción adicional, lo que puede ser un dolor si solo desea construir una cosa rápida (para construir realmente rápido, intente un Creador de sitios web ). CSS ha recorrido un largo camino desde los días oscuros de los hacks de mesa, así que veamos uno de los aspectos más útiles: propiedades personalizadas.

Para más herramientas que hará su vida más fácil, vea estos Alojamiento web servicio y almacenamiento en la nube Opciones. O se leída y comenzaremos con un ejemplo simple.

: raíz {
      - Color-rojo: # FC4752;
    }
    
    .sitio de navegacion {
      Color de fondo: var (- color-rojo);
    }
    
    .site-footer {
      Color: var (- color-rojo);
    } 

los :raíz El pseudo selector se dirige al elemento principal de nivel más alto en el DOM, dando a todos los elementos de acceso a --color rojo . Sí, la definición de las variables CSS debe comenzar con - , y puedes acceder a ellos en cualquier lugar con var () . Bueno, en cualquier lugar que esté en cascada bajo nuestro :raíz selector.

[sesenta y cinco] color-red image

[dieciséis] Con var () también puede definir un valor de deformación, que se utilizará si la variable dada es inalcanzable o inexistente

Con var () También puede definir un valor de deformación, que se utilizará si la variable dada sea inalcanzable o inexistente para la clase.

 .site-navegación {
      Color de fondo: var (- color-rojo, rojo);
    } 

Los valores se heredan del DOM, lo que significa que puede hacerlos más específicos.

: raíz {
      --color rojo;
    }
       
    .sitio de navegacion {
      --color verde;
      
      Color de fondo: var (- color);
    }
        
    .site-footer {
      Color: var (- color);
    } 

Cada var (- color) es rojo, excepto cada var (- color) debajo sitio de navegacion . En general, no es una práctica ideal para sobrescribir un valor que ya está definido, pero hay casos en los que un valor alcanzado sigue siendo la solución más adecuada.

Estos son lo básico, pero puedes hacer mucho más. Un ejemplo útil para diseño web adaptable Está cambiando de diseño basado en el tamaño de la ventana.

: raíz {
      - Color-rojo: # FC4752;
      - Flex-diseño: Fila;
    }
    
    @media (max-ancho: 640px) {
      :raíz {
        - Flex-diseño: columna;
      }
    }
    
    .sitio de navegacion {
      PANTALLA: FLEX;
      Dirección flexible: VAR (- Diseño flexible, fila);
      
      Color de fondo: var (- color-rojo, rojo);
    }
    
    .site-footer {
      Color: var (- color-rojo);
    } 

Bajo 640px, la consulta de medios se desencadena, cambiando la dirección FLEX a la columna en la clase de navegación del sitio, lo que hace que su contenido sea vertical (columna) en lugar de la horizontal predeterminada (fila). En este ejemplo, debido a la variable predeterminada dada a la navegación del sitio, ni siquiera necesita la inicial :raíz definicion de - diseño de flex; En su lugar, en realidad va a ir directamente a la fila.

amedia written in a green bubble

[dieciséis] Bajo 640px, la consulta de medios se desencadena, cambiando la dirección FLEX a la columna y haciendo que el contenido vertical en lugar de horizontal.

Esto es genial, pero no es todo divertido y juegos todavía. Por ejemplo, dado que la consulta de los medios no es un elemento, el valor de punto de interrupción no puede provenir de una propiedad personalizada. Aunque el grupo de trabajo de CSS tiene un borrador de usar env () Para las consultas, la implementación del proveedor y el apoyo adecuado son probablemente años de distancia de donde las cosas están hoy.

Esta bien. Nos quedaremos a lo que tenemos ahora. Un caso de uso más avanzado para una propiedad personalizada es cambiar de temas. Puede definir un tema base, construir su sitio web a su alrededor y simplemente apágalo, con el navegador haciendo el levantamiento pesado. Y ni siquiera es tan pesado.

Esencialmente, piense en que esté siendo a lo largo de las líneas del modo de noche de Twitter, pero sin que realmente cambie el CSS (lo veo).

 & lt; Main & GT;
      & lt; nav clase = "sitio-navegación" y gt;
        & lt; div & gt; amo a interwebs & lt; / div & gt;
      & lt; / nav & gt;
      & lt; div class = "sitio-footer" & gt;
        & lt; etiqueta para = "Color-Picker" & GT; Cambiar color & lt; / Label & GT;
        & lt; type = "Color" id = "Color-Picker" & GT;
      & lt; / DIV & GT;
      & lt; estilo & gt;
        :raíz {
          - COLOR: # FC4752;
        }
        
        cuerpo {margen: 0; relleno: 0; }
        
        principal {
          PANTALLA: FLEX;
          Dirección Flex: Columna;
          Justify-Contenido: espacio entre ellos;
          Altura: 100vh;
        }
        
        .sitio de navegacion,
        .site-footer {
          relleno: 12px;
        }
        
        .sitio de navegacion {
          Color de fondo: var (- color, rojo);
        }
        
        .site-footer {
          Color: var (- color);
        }
      & lt; / estilo & gt;
      & lt; script & gt;
        var colorepicker = document.queryselector ("# Color-selector");
        colorpicker.addeventlistener ("cambio", función () {
          document.documentelement.style.setProperty ("- Color", esto.Value);
      })
      & lt; / script & gt;
& lt; / Main & GT; 

El valor seleccionado del color de entrada reemplaza el documento --color Valor, haciendo el cambio sin un enganche. Puede jugar con modos de mezcla, colores de canales alfa o PNGs: posibilidades y diversión sin fin.

white text saying - - dark on a dark background

[dieciséis] Puede construir su sitio web alrededor de un tema base y simplemente apágalo, con el navegador haciendo el levantamiento pesado

Ahora, con su CSS de prueba de futuro, que no depende de ningún desarrollador de terceros y usa solo propiedades personalizadas, existe la buena posibilidad de que esté cubierto y listo para iniciar la producción.

Pero, ¿qué pasa si desea algo más que las variables en su código, digamos los módulos CSS? A partir de hoy, para las características de CSS existentes como módulos o anidación, ya no podía ahorrar el paso de compilación adicional, pero puedes implementarlo con la dulce promesa de no tener que reescribir el código cuando los proveedores se ponen al día con la especificación.

En lugar de refactorar su CSS cada vez que desea mejorar su salida, debe escribir su código en una especificación alineada de esa manera en primer lugar. Esta es la principal diferencia entre los procesadores anteriores y posteriores. Un preprocesador realmente escribe el CSS para usted (básicamente, desde un archivo de texto), mientras que un post-procesador alinea su CSS ya válido para obtener más soporte de navegador, este último le brinda más flexibilidad en el proceso.

El uso del método nativo siempre supera a la solución, y tener el conocimiento de trabajo de las tecnologías futuras es la mejor posición en la que puede estar al aprender CSS.

Este artículo fue publicado originalmente en el número 306 de neto , la revista más vendida del mundo para diseñadores web y desarrolladores web. Suscríbete a la red aquí .

Artículos relacionados:

  • 5 consejos para CSS super rápido
  • Entendiendo la propiedad de visualización de CSS
  • Trucos de CSS para revolucionar tus diseños web.

Cómo - Artículos más populares

Cómo convertir WordPress en un constructor visual

Cómo Jan 28, 2026

[dieciséis] (Crédito de la imagen: Elementor / Joseph Ford) Los constructores visuales han existido durante mucho tiempo par..


Crea una página de destino de WebGL 3D

Cómo Jan 28, 2026

[dieciséis] (Crédito de la imagen: Futuro) Crear una página de destino de WebGL 3D es una forma de obtener una gran primera..


Todo lo que necesita saber sobre la división de código JavaScript

Cómo Jan 28, 2026

[dieciséis] Los sitios modernos a menudo combinan todos sus javascript en una sola, grande main.js texto. Esto contiene reg..


Crea una perspectiva en Adobe Illustrator

Cómo Jan 28, 2026

[dieciséis] Página 1 de 2: Uso de la cuadrícula de perspectiva en Illustrator: Pasos 01-09 ..


Cómo pintar como un maestro del siglo XIX

Cómo Jan 28, 2026

[dieciséis] El siglo XIX fue un momento maravilloso para el arte. Los artistas se mantuvieron en alta condiciones y el público se edu..


Cómo prototipo Una aplicación móvil con origami Studio

Cómo Jan 28, 2026

En un mundo donde los usuarios tienen altas expectativas de su experiencia en la Web y el móvil, la creación de prototipos y la evaluación del usuario es clave. Ahora es común que se iter..


Construye una UI basada en la tarjeta con la Fundación

Cómo Jan 28, 2026

[dieciséis] Basado en tarjetas Diseños de sitios web Han tomado la web. Hecho popular por Pinterest, Twitter, Facebook y G..


Cómo dibujar Harley Quinn

Cómo Jan 28, 2026

[dieciséis] Para mí, el atractivo de Digital. Técnicas de pintura son simples A diferencia de los medios tradicionales, p..


Categorías