Qué es Generador de CSS attr() tipado?
La funcion CSS attr() tipada (Chrome 133+) lee un valor de atributo HTML y lo usa en cualquier propiedad CSS, con conversion de tipo explicita. A diferencia de la attr() tradicional que solo funciona en la propiedad content de pseudoelementos ::before y ::after y siempre devuelve una cadena, la version tipada acepta un parametro de tipo: attr(data-value type(<tipo>), <fallback>). Los tipos compatibles incluyen string, number, px, rem, em, percentage, color, deg, s, ms, url y mas. Esto permite estilos impulsados por atributos de datos directamente sin interpolacion JavaScript.
Respuesta rápida
Use CSS attr(data-* type(<tipo>), <fallback>) tipada para leer valores de atributos HTML en cualquier propiedad CSS con conversion de tipo. Solo Chrome 133+. Admite tipos number, px, rem, em, percentage, color, deg, s, ms, url. Proporcione siempre un valor de fallback.
Last updated: 2026-05-30
Limitaciones
- Attr() tipada requiere Chrome 133+ o Edge 133+. Safari y Firefox aun no la admiten a mayo de 2026. La funcion es efectivamente solo para Chromium.
- El valor del atributo debe coincidir exactamente con el formato de tipo esperado. Un tipo type(px) que espera "300" falla con "300px", "300 px" o cadenas no numericas. No hay saneamiento integrado.
- Las fallas de conversion de tipo y los errores de analisis se comportan de manera diferente: una falta de coincidencia de tipo activa el valor de fallback, pero un argumento de tipo completamente invalido es un error de analisis CSS que invalida toda la declaracion.
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
Cómo usar esta herramienta
- Elija un atributo HTML para leer: tipicamente un atributo data-* como data-size, data-color o data-speed en el elemento objetivo.
- Seleccione la propiedad CSS que recibira el valor del atributo: cualquier propiedad CSS que acepte el tipo elegido.
- Elija el tipo para la funcion attr() que coincida con su propiedad CSS y el formato de valor esperado.
- Establezca un valor de fallback para cuando el atributo falte, este vacio o el valor no pueda convertirse al tipo especificado.
Para qué puedes usarla
- Construir una barra de progreso impulsada por datos donde el ancho se establece mediante un atributo data-percent usando attr(data-percent type(%), 0%) en lugar de un estilo en linea.
- Crear un sistema de animacion configurable donde los atributos HTML data-duration y data-delay controlen el tiempo de la animacion via attr(data-duration type(s), 300ms).
- Disenar un sistema de color de componentes donde data-accent lea un color hex del HTML y lo aplique al fondo, borde o color del texto a traves de attr(data-accent type(color), #333).