2010-10-19 16 views
7

¿Alguien me puede ayudar a encontrar mi problema? Tengo <img /> y le daré una imagen de fondo dentro de una etiqueta <a>.Imagen de fondo en <img> elemento

Aquí está mi ejemplo:

<img border="0" style="display:block; width:20px; height:20px; background-color:red; padding:9px; background:url(\'./images/system/button/close/close.png)\' no-repeat" /> 

background-color no funcionó a .. :-(Mi ejemplo es una cadena de JavaScript, esa es la razón por la que estoy escapando la URL

Gracias por su ayuda :-)

+1

¿Por qué escapa de las citas? ¿Estás seguro del '.' principal de la URL? –

+0

a menos que esté extremadamente confundido, ¿por qué está ajustando el BG de una etiqueta img sin hacer uso de su atributo SRC? y el './' inicial en la url es solo una ruta relativa, creo – Ross

+1

¿Por qué no utilizar el atributo src? ¿Por qué necesitas usar background-image? – jerjer

Respuesta

9

ni siquiera necesita las comillas.

background:url(./images/system/button/close/close.png) 

usar un div si se puede

<div style="height:20px; width:20px; padding:9px; background:url(./images/system/button/close/close.png) no-repeat red"></div> 
+0

tenga en cuenta que los divs se muestran de forma predeterminada como imagen de bloque en línea – jerjer

+0

También es de destacar que su color de fondo no funciona porque lo está superando más allá. O haga 'background: red url (...)' o use 'background-image' en su lugar. –

+1

¿Por qué 'usar un div si puedes'? Sin duda, un elemento de imagen tiene más sentido semántico si el propósito del elemento es mostrar una imagen –

3

Está escapando de las comillas y ha transpuesto la segunda comilla y el corchete.

En CSS:

url('foo') /* is technically fine but broken on IE/Mac */ 
url(foo)  /* is fine */ 
url('foo)' /* is not fine */ 
url(\'foo\') /* is not fine */ 

Y como señala Ross en un comentario, su atributo src no se encuentra. Imagino que el ajuste de una imagen de fondo en una imagen con fondo translúcido funcionará, pero si no tiene una imagen de contenido, no use un elemento <img> (y no oculte ninguna imagen de contenido que tenga en background-image propiedades).

+0

Lo siento, me olvidé de decir que es mi cadena de JavaScript ... – Patrik

+0

¿Qué elemento está calificado para usar una Imagen con fondo dentro de una etiqueta ? – Patrik

1

No entiendo por qué está escapando de las comillas.

<img border="0" style="display:block; width:20px; height:20px; background-color:red; padding:9px; background:url('./images/system/button/close/close.png') no-repeat" /> 

¿Eso funciona?

Y de seguro. en la URL?

+0

Como es una cadena de JavaScript – Patrik

0

Bueno, aunque es raro utilizar la etiqueta <img/> para esto. (No es su propósito, utilizar src o una div con el fondo ...)

Here, está funcionando

1

background-color:red; está siendo reemplazado por background:.

Combine sus fondos. Luego puede refinarlo aún más eliminando las comillas en la URL() del fondo y el período de la URL. si es relativo a la ubicación de la página en la que se encuentra, simplemente elimine la barra diagonal inversa.

<img border="0" style="display:block; width:20px; height:20px; padding:9px; background:#F00 url(images/system/button/close/close.png) no-repeat" />

pasado si necesita tener una alt atribuir su contenido se mostrará ya no hay una fuente. Use una imagen transparente si agrega el alt.