Foros del Web » Creando para Internet » CSS »

imagen fondo responsive tamaño completo

Estas en el tema de imagen fondo responsive tamaño completo en el foro de CSS en Foros del Web. Buenas!! Tengo un problemilla a la hora de poner un fondo a tamaño completo del navegador y a la vez que sea responsive. El problema ...
  #1 (permalink)  
Antiguo 10/09/2014, 05:37
 
Fecha de Ingreso: abril-2007
Mensajes: 15
Antigüedad: 17 años
Puntos: 1
imagen fondo responsive tamaño completo

Buenas!!

Tengo un problemilla a la hora de poner un fondo a tamaño completo del navegador y a la vez que sea responsive.

El problema lo tengo cuando lo visualizo en el movil, que no me adapta la imagen al tamaño de la pantalla, sino que me la corta dejando la mitad de la pantalla sin imagen.

Sin embargo, en el navegador del ordenador se adapta perfectamente. Es algo que no logro entender por qué pasa.

Muchas gracias de antemano!

El código HTML:

Código HTML:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Agencia y Escuela de Maquillaje Profesional | MERY Make-Up</title>
<meta name="description" content="Máxima atención y calidad en nuestros servicios como agencia y escuela de maquillaje. Cursos de maquillaje hechos a tu medida. Infórmate!">
<meta name="keywords" content="cursos de maquillaje, escuela de maquillaje, servicios de maquillaje, agencia de maquillaje">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="css/style.css" type="text/css" media="all"/>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
</head>

<body class="imagen-background-pag-inicial">
	<header id="fondo-logo-pag-inicial">
    	<div class="contenedor-pag-inicial">
        	<img src="http://pruebasfalakata.com/wp-content/uploads/2013/11/logo.png" alt="logo Mery make Up">
        </div>
    </header>
	<nav class="menu-pag-inicial">
    	<ul class="contenedor-pag-inicial">
        	<li><a href="#">Agencia</a></li>
            <li><a href="#">Escuela</a></li>
            <li><a href="#">Particulares</a></li>
        </ul>
    </nav>
</body>
</html> 
Código CSS:

Código:
.imagen-background-pag-inicial{
	background-image:url(http://pruebasfalakata.com/wp-content/uploads/2013/11/5_baja-res.jpg);
	background-position:center center; /*centrada vertical y horizontal*/
	background-repeat:no-repeat;
	background-attachment:fixed;/*la imagen de fondo está fija en el viewport, de modo que no se mueva cuando la altura del contenido supere la altura de la imagen*/
	background-size:cover;/*la imagen se reescala cuando cambia el ancho de ventana*/
	background-color:#090;
	/*margin:0;*/
}

.contenedor-pag-inicial{
	margin:0 auto;
	width:300px;
}

#fondo-logo-pag-inicial{
	background-color:#FFF;
	opacity:0.9;
}

.menu-pag-inicial{
	background-color:#090;
	width:100%;
	opacity:0.9;
}

.menu-pag-inicial ul{
	width:300px;
	height:40px;
	padding:0;
}

.menu-pag-inicial li{
	display:inline;
	float:left;
}

.menu-pag-inicial a{
	text-decoration:none;
	color:#FFF;
	line-height:40px;
	width:100px;
	display:inline-block;
	border-right:1px solid #FFF;
	text-align:center;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.menu-pag-inicial li:last-child a{
	border-right:0;
}

.menu-pag-inicial a:hover{
	background-color:#FFF;
	color:#090;
}


/*********************************
MEDIA QUERIES
***********************************/

@media screen and (max-width:767px){
	.imagen-background-pag-inicial{
		background-image:url(http://pruebasfalakata.com/wp-content/uploads/2013/11/Fotografía-books00371.jpg);
	}
}
  #2 (permalink)  
Antiguo 11/09/2014, 02:45
 
Fecha de Ingreso: abril-2007
Mensajes: 15
Antigüedad: 17 años
Puntos: 1
Respuesta: imagen fondo responsive tamaño completo

He probado con diferentes navegadores. En Safari, Opera, IE, Firefox se ve bien pero en Chrome se ve mal.

¿Alguien sabe a que se debe? ¿Es probable que chrome no soporte la propiedad background-attachment?

Esto de los navegadores es una pesadilla...
  #3 (permalink)  
Antiguo 11/09/2014, 13:51
 
Fecha de Ingreso: marzo-2011
Ubicación: Oaxaca
Mensajes: 252
Antigüedad: 13 años, 1 mes
Puntos: 17
Respuesta: imagen fondo responsive tamaño completo

Los navegadores para dispositivos moviles normalmente no traen las funciones completas como las de un navegador de Escritorio.
quiero pensar que revisaste la vista desde algun celular,¿ya comprobaste el peso de la imagen? a lo mejor esta muy pesada y por eso no lo pudo cargar de manera normal
el background-attachment no tiene nada que ver, de todos modos chrome si lo soporta bien
  #4 (permalink)  
Antiguo 12/09/2014, 02:52
 
Fecha de Ingreso: abril-2007
Mensajes: 15
Antigüedad: 17 años
Puntos: 1
Respuesta: imagen fondo responsive tamaño completo

Hola Juangemelo01!

Gracias por tu respuesta.

He probado a poner tres imágenes diferentes para cada dispositivo con media queries. La imagen que he puesto para resoluciones de menos de 480px pesa 72kB, y sigue ocurriendo. Adjunto una captura de pantalla de como lo visualiza mi teléfono móvil con Chrome, porque con el resto de navegadores se ve correctamente.

  #5 (permalink)  
Antiguo 16/09/2014, 13:38
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: imagen fondo responsive tamaño completo

es sencillo el problema, lo malo es que depende como sea la imagen, queda feo en en smartphones. Yo te aconsejaría hacer una imagen para portraits (vertical) y otra para landscape (horizontal) y que se vayan modificando con las media queries según el dispositivo que lo visualize.

Una vez hechas cada imagen, asignar la siguiente propiedad justo despues de cada declaración de imagen en la que quieras que sea responsive:

Código CSS:
Ver original
  1. background-size: 100% 100%;

Listo, ya tendrás el problema resuelto!
  #6 (permalink)  
Antiguo 16/09/2014, 15:48
Avatar de mkiramu  
Fecha de Ingreso: octubre-2011
Ubicación: Distrito Federal
Mensajes: 18
Antigüedad: 12 años, 6 meses
Puntos: 4
Respuesta: imagen fondo responsive tamaño completo

Existe otra propiedada que también aumenta el tamaño de la imagne de fondo hasta cubrir por completo la pantalla y sin deformar la imagen.

Código HTML:
background-size: cover;
  #7 (permalink)  
Antiguo 16/09/2014, 17:56
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: imagen fondo responsive tamaño completo

Seguramente cover sea la solución si es ese el problema. No obstante, también puedes usar contain como valor si tienes la imperiosa necesidad de que se muestre toda la imagen —aunque no cubrirá siempre todo el área como sí lo haría cover.
__________________
(:
  #8 (permalink)  
Antiguo 17/09/2014, 05:35
 
Fecha de Ingreso: abril-2007
Mensajes: 15
Antigüedad: 17 años
Puntos: 1
Respuesta: imagen fondo responsive tamaño completo

Gracias a todos por el interés mostrado!

He probado todo lo que comentáis y sigue ocurriendo el mismo problema.

El caso es que probando y probando me he dado cuenta de que el problema no está en la propiedad background-size ("cover" - "contain"- "100% 100%"). Si no en la propiedad background-position.

Si ponemos:

Código:
background-position: 0 0;
En vez de:

Código:
background-position: center center;
En Chrome se ve perfectamente ya que re-escala la imagen perfectamente, pero en el resto de navegadores se descentra la imagen, ya que éstos no la re-escalan como hace Chrome.

Yo me pregunto ahora si hay alguna manera de dar código CSS sólo al navegador Chrome, ya que con un código CSS que solo afectara a Chrome tendría el problema resuelto.

Pienso que es un bug de Chrome al estilo IE.

Lo que tampoco entiendo, es que hay Webs por ahí con el fondo responsive a pantalla completa funcionando correctamente!! aarrrgggghhh!!

Etiquetas: background, color, completo, horizontal, hover, html, responsive, tamaño, width
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:24.