Estoy mirando para fijar el background-image
(o incluso hacer que una imagen a través de los pseudo elementos :after
o :before
) hasta su valor, lo que será una URL, de un atributo rel
, pero solo en ciertos casos (esta es una lista de archivos en la nube). Por ejemplo:CSS 3: establecer una imagen de fondo para atributo rel valor
HTML:
<div class="icon ${fileExtension}" rel="${fileURL}"></div>
Sería genial si pudiera hacer algo como esto:
CSS:
.icon.png,
.icon.jpg,
.icon.jpeg,
.icon.bmp,
.icon.gif { background-image: attr(rel,url); }
... pero obviamente eso no lo hace funciona, si no me equivoco, la función CSS attr()
solo funciona dentro de bloques de pseudo elementos.
Sé que hay formas de hacer esto usando JSP condicional o incluso lógica jQuery, pero me gustaría encontrar una manera ordenada de hacerlo a través de CSS3, ya que de momento solo me preocupan los navegadores modernos .
Además, no quiero establecer explícitamente la imagen de fondo en la URL o crear un elemento <img>
, porque de forma predeterminada si el archivo no es una imagen compatible, prefiero mostrar un conjunto predeterminado de iconos.
[La especificación CSS3] (http://www.w3.org/TR/css3-values/#attribute) permite que 'attr()' se use en cualquier otro lugar junto con los pseudo-elementos y la propiedad 'content'. En cuanto a las implementaciones de navegador ... no he podido probar eso. – BoltClock
De alguna manera nunca he oído hablar de 'attr()' .. – thirtydot
@thirtydot: Apareció por primera vez en la [especificación de contenido generada de CSS2] (http://www.w3.org/TR/CSS2/generate.html), y es útil para cosas como contadores personalizados para listas. Excepto que casi nadie lo usa aún debido a los sospechosos habituales. – BoltClock