2011-07-14 17 views
6

estoy sujeción tamaños de imagen con CSS:hacer una imagen rota respeto dimensiones CSS

#somewhere img { 
    width: 160px; 
    height: 90px; 
} 

Cuando toda la carga imágenes correctamente, mi diseño de la página se ve bien. Por otro lado, si una imagen en particular no se carga, el diseño de mi página se estropea porque la imagen rota ocupará 0px por 0px. Los elementos alrededor de esa imagen rota se desplazarán hacia arriba. ¿Cómo puedo hacer que las imágenes rotas todavía respeten las dimensiones de CSS para que mi diseño no colapse?

broken image

+0

¿Por qué no se cargan? – BoltClock

+0

¿Estás seguro de que estás seleccionando la imagen correcta con tu CSS? ¿Es esto un problema de navegador cruzado? ¿Qué otro CSS hay en la página? – fncomp

+0

Una imagen no se pudo cargar si un usuario escribe la URL incorrecta o si el servidor eliminó una imagen válida. – JoJo

Respuesta

7

Adición de display: block-img debe ser lo suficientemente bueno:

#somewhere img { 
    width: 160px; 
    height: 90px; 
    display: block; 
} 

Si de alguna manera esto no funciona, envuélvalo ping el img en otro elemento funcionará.

<span><img class="channelLogoImg" width="160" height="90" src="" /></span> 

#somewhere span, #somewhere img { 
    width: 160px; 
    height: 90px; 
    display: block; 
} 

me eligieron span porque esa es la opción habitual para las envolturas frívolas.

+0

Voy con el método 'display: block' porque es más limpio y el diseño funciona con una imagen de bloque. – JoJo

0

Sé que esto no es una solución CSS, pero yo siempre especificar la anchura y la altura de los atributos de la etiqueta de la imagen en lugar de en el CSS - esto va a resolver su problema arrugando para las imágenes que faltan.

+0

Esto no funciona en Firefox 5 (al menos) cuando creo dinámicamente el img con Prototype: 'new Element ('img', {width: 160, height: 90, src: 'doesNotExist.jpg'});'. La imagen aún no ocupa espacio finito. – JoJo

4

Dependiendo de su diseño, tal vez se puede añadir una propiedad CSS

display: [block/inline-block] 

a la etiqueta "img".

O puede presentar div/span envoltura alrededor de las imágenes y darles altura fija y ancho como:

<div style="height:90px; width:160px"> 
    <img src="foo.jpg" /> 
</div> 

Esperanza esto ayuda

Cuestiones relacionadas