2006-06-29

Centrar contenido e imagen de fondo con css

Hace un tiempo trabajé en un proyecto en el que se necesitaba centrar en vertical y horizontal un pequeño cuadrado y que se viera más o menos igual en todas las resoluciones. También existía una imagen de un fondo con una especie de línea horizontal que debía pasar justo por debajo del cuadradito.

Ni que decir tiene que según la resolución de pantalla ambos elementos se desconfiguraban y opté en su día por "apañarlo" a la resolución más demandada. En este caso la de 1024x768 píxeles.

Estos días trabajando en otro proyecto he tenido la suerte de unir mi experiencia con algo que leí en insomnia.
Aquí se describe como centrar horizontalmente y verticalmente el contenido de un div. en mi caso lo he resuelto así:

body{
background-image:url(images/background.gif);
background-color:#000000;
background-position: center;
background-attachment: fixed;
background-repeat:repeat-x;
overflow:auto;
}

.centrado {
position: absolute;
top: 50%;
left: 50%;
margin-top: -204px; /*Restamos la mitad de alto*/
margin-left: -350px; /*Restamos la mitad de ancho*/
}

Manipulando la imagen adecuadamente se consigue que tanto el contenido como la imagen de fondo estén perfectamente centradas para cualquier tipo de resolución.

La clase .centrado se aplica sobre un div. Para este caso, se trataba de la portada de la web y sólo era necesario este div y su contenido...

12 comentarios:

  1. Anónimo10:54 p. m.

    mil gracias me sirvio mucho

    ResponderEliminar
  2. Anónimo4:19 p. m.

    Mil gracias. Perfecto. Despues de 5 días, me has resuelto el problema.

    ResponderEliminar
  3. aporto lo siguiente y funca mejor. pon así en tu CSS:

    background: #720000 url(imaganes/bg.png)no-repeat scroll center top;

    ResponderEliminar
  4. Gracias... me has resuelto el problemillaaa
    I. Love You!

    ResponderEliminar
  5. Anónimo12:31 a. m.

    realmente brillante, enhorabuena. Ha mejorado bastante la presentación de mi web

    ResponderEliminar
  6. GENIAL!
    ME SALVASTE
    sos un idolo!!!
    besooos!

    ResponderEliminar
  7. Anónimo8:16 p. m.

    Muchas gracias, servirá para la publicación de mi primera página.

    ResponderEliminar
  8. Anónimo8:05 p. m.

    Gracias, gracias, gracias!!! Una grandísma aportación!

    ResponderEliminar
  9. Anónimo3:59 a. m.

    de puta nai! genial genial , gracias miiiiiil

    ResponderEliminar
  10. Esta propiedad de css puede ayudar mucho para centrar imágenes background de forma vertical:
    background-position-y: center;
    O si quieren centrarla horizontalmente:
    background-position-x: center;
    Saludos!!!

    ResponderEliminar
  11. Las siguientes propiedades css pueden ayudar a realizar centrados de las imagenes background:
    background-position-y: center; (centrado vertical)
    background-position-x: center; (centrado horizontal)
    Espero que les sirva.
    Saludos!!

    ResponderEliminar

Sé bueno. No hagas spam y no hagas que te modere.