13 · Typed attr()
Typed attr()
Un atributo HTML alimenta el CSS, sin clases dedicadas
attr() con tipo
El nuevo attr() tipado puede leer un atributo como color, número o dimensión y usarlo en CSS.
background: attr(data-color color)
Sin clases dedicadas
El color lo aporta el atributo HTML, no una clase CSS por cada uno. Un solo selector, N colores.
attr(data-color type(<color>))
Tipos soportados
<color>, <number>, <length>, <integer> — el navegador valida y castea solo.
<!-- el color lo aporta el atributo, no una clase -->
<div class="attr-box" data-color="#f59e0b" data-label="amber"></div>
<div class="attr-box" data-color="#ef4444" data-label="red"></div>
<div class="attr-box" data-color="#10b981" data-label="green"></div>.attr-box {
/* lee el atributo como <color> y lo usa de fondo */
background: attr(data-color type(<color>));
}
.attr-box::after {
/* lee el atributo como string */
content: attr(data-label);
text-transform: uppercase;
}Nota honesta sobre soporte
Muchas de estas APIs son recientes y aún no están en todos los navegadores (ver pill de cada sección). La gracia es que todas degradan bien: el carousel sigue scrolleando, el accordion abre/cierra, el textarea funciona — solo sin el "plus" animado.