2010-04-15 16 views
99

Quiero centrar una imagen de fondo. No hay div utilizado, este es el estilo CSS:Centrar una imagen de fondo, usando CSS

body{ 
    background-position:center; 
    background-image:url(../images/images2.jpg) no-repeat; 
} 

Los azulejos CSS por encima de todo y hace que el centro, pero la mitad de la imagen no se ve, sólo tipo de se mueve hacia arriba. Lo que quiero hacer es centrar la imagen. Yo podría adoptar la imagen para ver incluso en una pantalla de 21" ?

+1

Ahora que dependería del tamaño de la imagen y el tamaño del navegador, ¿verdad? –

+0

@nikc +1, estoy enterado, pero necesito saber si hubo un trabajo alrededor de – X10nD

Respuesta

213
background-image: url(path-to-file/img.jpg); 
background-repeat:no-repeat; 
background-position: center center; 

Eso debería funcionar.

Si no es así, ¿por qué no hacer una div con la imagen y el uso z-index para que sea el fondo? Esto sería mucho más fácil de centrar que una imagen de fondo en el cuerpo.

Aparte de eso, pruebe:

background-position: 0 100px;/*use a pixel value that will center it*/ O creo que puede usar el 50% si configuró su cuerpo min-height al 100%.

body{ 

    background-repeat:no-repeat; 
    background-position: center center; 
    background-image:url(../images/images2.jpg); 
    color:#FFF; 
    font-family:Arial, Helvetica, sans-serif; 
    min-height:100%; 
} 
+0

Se centraliza, pero muestra solo la mitad de la pantalla, desearía que stackoverflow tuviera una opción para adjuntar capturas de pantalla – X10nD

+0

Podría hacer una captura de pantalla y subirla a su servidor o una pic sitio de alojamiento como photobucket.com, o haga un ejemplo temporal en www.jsfiddle.net y publique un enlace para nosotros. Por lo que has dicho, la imagen es de 1600x1200 y la mayoría de las resoluciones de pantalla no son tan altas, intenta redimensionar tu imagen para que encaje. Utilizo un monitor de pantalla panorámica a 1440x900 por ejemplo. – Kyle

+0

captura de pantalla - http://imagevat.com/picview.php? ig = 6179 No sé cómo subir imágenes a jsfiddle, si me pueden ayudar http://www.jsfiddle.net/yWrQP/ – X10nD

5

Trate

background-position: center center; 
+0

¿Cómo es que funciona el centro de doble centro? De todos modos no resuelve el problema, sigue siendo el mismo – X10nD

+1

@Jean: mire las especificaciones, la posición de fondo en realidad puede tomar 2 valores (horizontal y vertical). http://www.w3.org/TR/CSS2/colors.html#propdef-background-position –

+0

@rob no funciona, la imagen está en mosaico. La imagen es 1600x1200 y el tamaño de mi pantalla es 1280x800 – X10nD

3

Hay un error en el código. Está utilizando una combinación de sintaxis completa y notación taquigráfica en la propiedad de la imagen de fondo. Esto hace que se ignore la no repetición, ya que no es un valor válido para la propiedad de la imagen de fondo.

body{ 
    background-position:center; 
    background-image:url(../images/images2.jpg) no-repeat; 
} 

se convierta en uno de los siguientes:

body{ 
    background:url(../images/images2.jpg) center center no-repeat; 
} 

o

body 
{ 
    background-image: url(path-to-file/img.jpg); 
    background-repeat:no-repeat; 
    background-position: center center; 
} 

EDIT: Para su imagen 'ampliación' problema, es posible que desee ver en this question's answer.

+0

'fondo: url (../ images/images2.jpg) center center no-repeat;' no funciona, ya que la sintaxis es incorrecta Y las demás tampoco funcionan – X10nD

16

utilizo este código, funciona agradable

html, body { 
    height: 100%; 
    width: 100%; 
    padding: 0; 
    margin: 0; 
    background: black url(back2.png) center center no-repeat;; 
-webkit-background-size: cover; 
-moz-background-size: cover; 
-o-background-size: cover; 
background-size: cover; 
} 
+0

¡Gracias! Ni siquiera sabía que había declaraciones diferentes para webkit, etc ... –

+0

Hola Victor, he usado mucho tu código, pero parece que no funciona ahora. Agregué el archivo adjunto de fondo: arreglado; pero no funciona en el navegador de mi iPad ... – Vadim

1

probar este background-position: center top;

Esto va a hacer el truco para ti.

9

creo this es lo que se quiere:

body 
{ 
    background-image:url('smiley.gif'); 
    background-repeat:no-repeat; 
    background-attachment:fixed; 
    background-position:center; 
} 
+4

background-attachment solucionó el problema para mí;) – kdoteu

+1

Sí, esto también funciona para mí. – Hexodus

2
background-repeat:no-repeat; 
background-position:center center; 

no se centra verticalmente la imagen de fondo cuando se utiliza un tipo de documento HTML 4.01 'estricto'.

Adición:

background-attachment: fixed; 

debería solucionar el problema

(Así Alexander es la derecha)

0

si su no está satisfecho con las respuestas anteriores a continuación, utilizar este

* {margin: 0;padding: 0;} 

    html 
    { 
     height: 100%; 
    } 

    body 
    { 
     background-image: url("background.png"); 
     background-repeat: no-repeat; 
     background-position: center center; 
     background-size: 80%; 
    } 
-2

El Lo único que funcionó para mí es ...

margin: 0 auto 
0

Tenía el mismo problema. Usó las propiedades de visualización y margen y funcionó.

.background-image { 
    background: url('yourimage.jpg') no-repeat; 
    display: block; 
    margin-left: auto; 
    margin-right: auto; 
    height: whateveryouwantpx; 
    width: whateveryouwantpx; 
} 
0

simplemente reemplazar

background-image:url(../images/images2.jpg) no-repeat; 

con

background:url(../images/images2.jpg) center; 
Cuestiones relacionadas