yo tengo
body {
background: url(images/background.svg);
}
El efecto deseado es que esta imagen de fondo tendrá un ancho igual al de la página, cambiando la altura para mantener la proporción. por ejemplo, si la imagen original es de 100 * 200 (cualquier unidad) y el cuerpo tiene 600px de ancho, la imagen de fondo debería terminar siendo 1200px de alto. La altura debería cambiar automáticamente si la ventana cambia de tamaño. es posible?
Por el momento, parece que Firefox está ajustando la altura y luego ajustando el ancho. ¿Es esto quizás porque la altura es la dimensión más larga y está tratando de evitar el recorte? Yo quiero para recortar verticalmente, luego de desplazamiento: no repetición horizontal.
Además, Chrome está colocando la imagen en el centro, sin repetición, incluso cuando background-repeat:repeat
se proporciona explícitamente, que es el valor predeterminado de todos modos.
html, body { height: 100%; }
ayuda? Además, tos .Respuestas:
Hay una propiedad CSS3 para esto, a saber
background-size
( verificación de compatibilidad ). Si bien uno puede establecer valores de longitud, generalmente se usa con los valores especialescontain
ycover
. En su caso específico, debe usarcover
:Explicación de huevos para
contain
ycover
Perdón por el mal juego de palabras, pero voy a usar la imagen del día de Biswarup Ganguly para la demostración. Digamos que esta es su pantalla, y el área gris está fuera de su pantalla visible. Para demostración, voy a asumir una relación de 16x9.
Queremos utilizar la imagen del día antes mencionada como fondo. Sin embargo, recortamos la imagen a 4x3 por alguna razón. Podríamos establecer la
background-size
propiedad en una longitud fija, pero nos centraremos encontain
ycover
. Tenga en cuenta que también asumo que no destrozamos el ancho y / o la altura debody
.contain
Esto asegura que la imagen de fondo siempre esté completamente contenida en el área de posicionamiento de fondo, sin embargo, podría haber algún espacio vacío lleno en su
background-color
caso:cover
Esto asegura que la imagen de fondo cubra todo. No habrá visible
background-color
, sin embargo, dependiendo de la proporción de la pantalla, una gran parte de su imagen podría cortarse:Demostración con código real
fuente
-webkit-
prefijo?background-size: contain
contain
es como un ajuste de zoom.cover
Es como el relleno de zoom.contain
ajusta el tamaño de la imagen para que coincida con la dimensión más grande entre ancho y alto.cover
ajusta el tamaño de la imagen para que coincida con la dimensión más pequeña entre ancho y alto.Basado en consejos de https://developer.mozilla.org/en-US/docs/CSS/background-size termino con la siguiente receta que funcionó para mí
fuente
background-position: center;
, esto funcionó mejor para mí quebackgound-size: cover;
.overflow-y: hidden
pieza?No estoy seguro de lo que está buscando exactamente, pero realmente debería consultar estas excelentes publicaciones de blog escritas por Chris Coyier de CSS-Tricks:
http://css-tricks.com/how-to-resizeable-background-image/
http://css-tricks.com/perfect-full-page-background-image/
Lea las descripciones de cada uno de los artículos y vea si son lo que está buscando.
El primero responde a la siguiente pregunta:
El objetivo de la segunda publicación es obtener lo siguiente, una "imagen de fondo en un sitio web que cubra toda la ventana del navegador en todo momento".
Espero que esto ayude.
fuente
La imagen de fondo no se establece como perfecta, entonces su CSS es un problema para crear, por lo que su archivo CSS cambia al código siguiente
%; tamaño de fondo: 100% 100%; "
fuente
Prueba esto,
fuente
Solo agregue esta línea:
vh es la altura de la ventana gráfica. Esto se escalará automáticamente para adaptarse a la ventana del navegador del dispositivo.
Verifique más aquí: haga que el div tenga una altura del 100% de la ventana del navegador
fuente
fuente
Tuve el mismo problema, no pude cambiar el tamaño de la imagen al ajustar las dimensiones del navegador.
Código malo
Buen código:
La clave aquí es la adición de este elemento -> background-size: contener;
fuente
Esto es lo que funcionó para mí:
fuente
Establecer el tamaño de fondo no ayuda, la siguiente solución funcionó para mí:
Básicamente recorta la imagen y la hace encajar,
background-size: contain/cover
todavía no la hizo encajar.fuente