2012-02-29 16 views
9

tengo un divMedios consultas e imágenes de fondo

<div id="page"> 

</div> 

Con el siguiente CSS:

#page { 
    background: url('images/white-zigzag.png') repeat-x; 
    } 

    @media (max-width: 600px) { 
    #page {  
    background: url('images/white-zigzag-mobile.png') repeat-x; 
    } 
} 

noto cuando cambio el tamaño de mi navegador, veo el fondo "móvil" (bueno) pero si vuelvo y amplío mi navegador, mi fondo anterior "grande" no siempre reaparece.

Es un problema intermitente pero ocurre con la suficiente frecuencia como para pensar que debería abordarlo.

¿Hay alguna forma de evitar este problema de "imagen de fondo que no aparece" o una manera de cambiar el tamaño de las imágenes de fondo para que la consulta de medios "encoja" la imagen de fondo para que se ajuste al nuevo tamaño? Por lo que yo sé no hay manera (generalizada) para cambiar el tamaño de una imagen de fondo ...

+1

¿Usted intentó utilizar @media (min-width: 600px) {background: url ('images/blanco-zig-zag. png ') repeat-x; } No estoy seguro de si esto funciona, por eso es un comentario. – Tim

+1

Probablemente ya conozcas este enlace: http://css-tricks.com/how-to-resizeable-background-image/ (cambiando el tamaño de una imagen de fondo). – juanrpozo

+0

Cuando lo hago no cambia el tamaño de la imagen ... es que acabo de ver parte de la imagen, no el tamaño de la imagen reducida – redconservatory

Respuesta

18

Según this test:

Si desea única la versión de escritorio de la imagen que desee descargar en el escritorio ...

y única la imagen móvil a descargarse en el móvil dispositivo -

Es necesario utilizar una declaración min-width para especificar un ancho mínimos de navegador imagen del escritorio de ...

y a max-width para la imagen móvil.

lo que el código sería:

@media (min-width: 601px) { 
    #page { 
    background: url('images/white-zigzag.png') repeat-x; 
    } 
} 

@media (max-width: 600px) { 
    #page {  
    background: url('images/white-zigzag-mobile.png') repeat-x; 
    } 
} 
+0

En caso de que ayude a alguien, el problema que tenía no incluía la etiqueta '' apropiadamente, algo como: '' ahead del resto de CSS. – YPCrumble

+0

Existe un problema con esto: Firefox y Chrome también descargarán el tamaño de imagen más pequeño cuando se cambie el tamaño de la ventana gráfica (a un tamaño más pequeño), p. empiezas con el tamaño de pantalla más grande (ancho> = 601px) y el navegador descarga la imagen más grande; luego cambia el tamaño del navegador a ancho <= 600px y su navegador descargará también la imagen más pequeña, lo cual es totalmente inútil, porque ya tiene la gran resolución y ahora también puede descargar dos veces la más pequeña. Completamente contra la lógica de las cosas (ahorrando ancho de banda al descargar solo el tamaño más grande que necesita). –

+0

@DrunkenMaster es posible que * no te guste * ese comportamiento, pero de ningún modo es ilógico. El navegador no sabe que las dos imágenes son solo resoluciones diferentes de la misma imagen, muchas personas muestran * diferentes * imágenes dependiendo de si es móvil o de escritorio. Yo, por mi parte, prefiero este comportamiento. – TKoL

1

El código que ya ha proporcionado es libre de errores, que es probablemente un buen lugar para comenzar actualmente tiene

#page { 
background: url('images/white-zigzag.png') repeat-x; 
} 

@media (max-width: 600px) { 
background: url('images/white-zigzag-mobile.png') repeat-x; 
} 

La parte de consulta de medios no está completa. Todavía es necesario para proporcionar el selector CSS que se utiliza fuera de la consulta:

#page { 
background: url('images/white-zigzag.png') repeat-x; 
} 

@media (max-width: 600px) { 
    #page {  
    background: url('images/white-zigzag-mobile.png') repeat-x; 
    } 
} 

empezar con eso y quiero saber si se ha solucionado cosas.

+0

Disculpa que fue un error tipográfico de mi parte ... Corregí mi pregunta anterior. – redconservatory

0

favor utilice

`@media screen and (min-width: 320px) and (max-width:580px) { 
#page{ 
background: url('images/white-zigzag.png') repeat-x;}}` 
+1

por favor explique por qué su respuesta mejorará en la pregunta – nomistic

Cuestiones relacionadas