2012-06-20 11 views
6

La especificación dice: funciónHTML como CSS propiedad valora

El attr() devuelve el valor de un atributo en el elemento para su uso como un valor en una propiedad. Si se usa en un pseudo-elemento, devuelve el valor del atributo en el elemento de origen del pseudo-elemento.

http://www.w3.org/TR/css3-values/#attr

Sin embargo, esto no parece funcionar. Cuando uso background-image: url(attr(href)); obtengo la cadena "attr (href)" como valor de atributo, no el valor en sí.

http://jsfiddle.net/x2Rpt/1/

Cualquier idea por qué esto está roto?

+0

Casi lo mismo que esta pregunta hecha hoy: http://stackoverflow.com/questions/11117915/how-can-i-use-a-data-attribute-to-set-a-background-image-in -css – thirtydot

+0

@thirtydot: sabía que esto me parecía familiar ... no sé si debería cerrarlo o dejar mi respuesta. – BoltClock

+0

Entonces, básicamente, debería funcionar, pero no está implementado del todo bien? – quadmachine

Respuesta

10

No está roto; es solo que ningún navegador ha implementado the CSS3 version of attr(). Actualmente, las implementaciones solo existen para la que era introduced in CSS2.1, que está limitada a la propiedad content para contenido generado y reemplazado.

Su sintaxis parece correcta de lo contrario, hasta que se realicen cambios en las especificaciones.

+0

favor de votar esta falla para que trabajen en la implementación: https://bugzilla.mozilla.org/show_bug.cgi?id=435426 – vsync