Foros del Web » Creando para Internet » CSS »

Alineamiento en un DIV

Estas en el tema de Alineamiento en un DIV en el foro de CSS en Foros del Web. PERDONEN POR EL DOBLE POST, APRETE SIN QUERER DONDE DECÍA "MARCAR TEMA COMO SOLUCIONADO" Hola! Necesito su ayuda, resulta que tengo una página de un ...
  #1 (permalink)  
Antiguo 12/03/2013, 09:42
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Alineamiento en un DIV

PERDONEN POR EL DOBLE POST, APRETE SIN QUERER DONDE DECÍA "MARCAR TEMA COMO SOLUCIONADO"

Hola! Necesito su ayuda, resulta que tengo una página de un cliente, pero resulta que en pantallas chicas, el div "contenido" se ve cortado, y lo peor es que no hay scroll para poder ver el sitio entero.

Acá paso el link: http://neochem.com.ar | Los que tienen pantallas más o menos chicas, podrán ver claramente que el logo y una parte del contenido no es visible.

Así es como se ve en una pantalla chica, y así es como se ve en una pantalla más grande. Pero lo que pasa, es que en pantallas recortadas, la parte del logo no se ve (evidentemente, porque está cortada).

HTML
Código:
<!DOCTYPE HTML>
<html lang="es">
<head>
<title>Neochem</title>
<link href="css/estilo.css" rel="stylesheet" />
<meta name="Keywords" content="neochem, colorantes, auxiliares, colores, tintas, argentina" />
<META name="copyright" content="&copy; Neochem" />
<META name="Author" lang="es" content="Santiago A. Gimenez" />
<meta name="Description" content="Colorantes y Auxiliares" />
</head>
<body>
 <div id="contenido">
 <div class="logo">
 <img src="img/logo.jpg" alt="neochem, colorantes y auxiliares" />
 </div>
	<div class="contacto">
	<div class="gm"><p><img src="img/gm.jpg"></p></div>
	<p>Virrey Olaguer y Feliú 5241<br />
	(1605) Munro<br />
	Provincia de Buenos Aires<br />
	Argentina<br />
	Tel./Fax: (005411) 4730-4046<br />
	<a href="mailto:[email protected]">[email protected]</a></p>
</div>
</div>
</body>
</html>
CSS
Código:
/*  CREADO POR: Santiago A. Gimenez
	EL DÍA: 20/02/2013 
	EXCLUSIVO PARA NEOCHEM.COM.AR*/
@font-face { 
  font-family:arial; 
    src: url('../font/arial.ttf'); 
    src: local("News Cycle"), url('../font/arial.ttf'); 
} 
body {
	margin:0 auto;
	width:100%;
	background:#BEBEAB;
	}
#contenido {
    position:absolute;
    top:50%;
    left: 50%;
    margin-top: -400px;
    margin-left: -400px;
	background:url(../img/fondo.jpg) top center no-repeat;
	width:800px;
	height:800px;
	border-color:black;
	border-width:2px;
	border-style:solid;
	}
.logo {
	margin-left:500px;
	margin-top:15px;
	}
.contacto {
	margin-top:520px;
	margin-left:545px;
	width:240px;
	font-family:arial;
	font-size:13pt;
	color:#00357E;
	text-align:right;
	}
.gm {
	margin-left:150px;
	}
__________________
Mi portafolio
  #2 (permalink)  
Antiguo 12/03/2013, 09:48
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Alineamiento en un DIV

Fui a la W3C CSS checker y no detectó ningún error, que puede ser
__________________
Mi portafolio
  #3 (permalink)  
Antiguo 12/03/2013, 09:52
Avatar de pitufoweb  
Fecha de Ingreso: enero-2008
Ubicación: Un Mundo Raro
Mensajes: 1.148
Antigüedad: 16 años, 3 meses
Puntos: 181
Respuesta: Alineamiento en un DIV

Este tipo de problemas es por que usas position: absolute.

Desde hace algunos días, veo a muchos con problemas similares.


por favor, no usen position: absolute para hacer el layout.







Saludos
__________________
------------- " La felicidad no llega de afuera, nace desde dentro. " -------------
  #4 (permalink)  
Antiguo 12/03/2013, 09:58
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Alineamiento en un DIV

Cita:
Iniciado por pitufoweb Ver Mensaje
Este tipo de problemas es por que usas position: absolute.

Desde hace algunos días, veo a muchos con problemas similares.


por favor, no usen position: absolute para hacer el layout.




Saludos
Si le saco el absolute, se me corta en las pantallas grandes jeje.
He probado sacandole los margin: -400 pero se me corta 3/4 del div.
Pasa en todos los navegadores... ¿que puedo hacer?

Gracias por su tiempo
__________________
Mi portafolio
  #5 (permalink)  
Antiguo 12/03/2013, 10:10
Avatar de pitufoweb  
Fecha de Ingreso: enero-2008
Ubicación: Un Mundo Raro
Mensajes: 1.148
Antigüedad: 16 años, 3 meses
Puntos: 181
Respuesta: Alineamiento en un DIV

Hola,


Quita todo esto:


Código HTML:
    height: 800px;
    left: 50%;
    margin-left: -400px;
    margin-top: -400px;
    position: absolute;
    top: 50%;

y le agregas un margin: auto



Saludos
__________________
------------- " La felicidad no llega de afuera, nace desde dentro. " -------------
  #6 (permalink)  
Antiguo 12/03/2013, 10:15
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Alineamiento en un DIV

Cita:
Iniciado por pitufoweb Ver Mensaje
Hola,


Quita todo esto:


Código HTML:
    height: 800px;
    left: 50%;
    margin-left: -400px;
    margin-top: -400px;
    position: absolute;
    top: 50%;

y le agregas un margin: auto



Saludos
Pero si hago esto, no quedaría centrado horizontalmente xD. Jejeje
__________________
Mi portafolio
  #7 (permalink)  
Antiguo 12/03/2013, 10:19
Avatar de pitufoweb  
Fecha de Ingreso: enero-2008
Ubicación: Un Mundo Raro
Mensajes: 1.148
Antigüedad: 16 años, 3 meses
Puntos: 181
Respuesta: Alineamiento en un DIV

Cita:
Iniciado por The_Code Ver Mensaje
Pero si hago esto, no quedaría centrado horizontalmente xD. Jejeje
Hola,


Claro que queda centrado. Almenos intestaste hacerlo?





Saludos
__________________
------------- " La felicidad no llega de afuera, nace desde dentro. " -------------
  #8 (permalink)  
Antiguo 12/03/2013, 10:30
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Alineamiento en un DIV

Cita:
Iniciado por pitufoweb Ver Mensaje
Hola,


Claro que queda centrado. Almenos intestaste hacerlo?





Saludos
Si XD, me queda solo HORIZONTALMENTE. Lo he puesto, el
Código:
 margin:0 auto;
suelo usarlo, pero ahora necesito que también se centre verticalmente, es decir, que quede centrado en ambos ejes (vertical y horizontalmente)
__________________
Mi portafolio
  #9 (permalink)  
Antiguo 12/03/2013, 10:37
Avatar de pitufoweb  
Fecha de Ingreso: enero-2008
Ubicación: Un Mundo Raro
Mensajes: 1.148
Antigüedad: 16 años, 3 meses
Puntos: 181
Respuesta: Alineamiento en un DIV

Hola,


Hay varias formas para centrarlo verticalmente. Usa el buscador del foro o en google...no es tan difícil.



Saludos
__________________
------------- " La felicidad no llega de afuera, nace desde dentro. " -------------
  #10 (permalink)  
Antiguo 12/03/2013, 10:43
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Alineamiento en un DIV

Cita:
Iniciado por pitufoweb Ver Mensaje
Hola,


Hay varias formas para centrarlo verticalmente. Usa el buscador del foro o en google...no es tan difícil.



Saludos
pues para mi, parece que si jeje.
He intentado con esto:

Código:
position:absolute;
	left:50%;
	top:50%;
	margin:-400px 0 0 -400px;
	vertical-align: middle;
	display: table-cell;
Y va bien, pero en pantallas chicas realmente no se ve, pasa lo mismo que antes.
He intentado con otros códigos, pero el contenido del div "contenido" se "escapa" del contenedor. Puse los mismos valores en .gm y .contacto pero igual, no pasaba nada

Me quiero matar...
__________________
Mi portafolio
  #11 (permalink)  
Antiguo 12/03/2013, 10:46
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Alineamiento en un DIV

Listo!!!!

Código:
width:800px;
    height:800px;
    margin:auto;
    position:absolute;
    top:0;bottom:0; 
    left:0;right:0;
Gracias por la ayuda, con ese code ustedes podrán alinearlo horizontal y verticalmente (probado en una pantalla de 10 pulgadas y otra de 23)
__________________
Mi portafolio
  #12 (permalink)  
Antiguo 12/03/2013, 11:18
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Alineamiento en un DIV

Ok, solo funciona en Firefox. En Chrome y IE, al reducir la ventana, la página se corta
__________________
Mi portafolio
  #13 (permalink)  
Antiguo 12/03/2013, 12:17
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Alineamiento en un DIV

He probado con miles de cosas, busqué en diversas páginas (ingles y español) y no hay caso.

Ha ver si, algún día, se ponen todos de acuerdo y hacen un standard que funcione en todos los navegadores :(
__________________
Mi portafolio
  #14 (permalink)  
Antiguo 12/03/2013, 14:07
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
Respuesta: Alineamiento en un DIV

Hola,
tu problema no es de los navegadores, sino que se resuelve con un poquito más de conocimiento sobre como funciona css y un pensamiento un poco más "out of the box" como dicen los ingleses.


Concretamente te pasa porque estás usando anchos y márgenes fijos. Es matemáticamente imposible que puedas ver sin cortes un div que mide 800px de ancho en una pantalla que mide menos.

De la misma forma, por ejemplo tu logo, tiene un margin-left de 500px. Eso hace que el navegador cuente por la izquierda, 1....500 y luego te muestre el logo. Si la pantalla tiene menos de 500px, evidentemente que te lo va a mostrar fuera de la pantalla.

Te hago un dibujo para que lo veas "visualmente":


- elimina los margins de todo
- elimina el ancho y altura fija del contenedor
- asignale a left-right-top-bottom 10%

y whallá. Tienes un contenedor que mide el 80% del ancho de la pantalla, el 80% del alto de la pantalla y está centrado horizontalmente y verticalmente
si además quieres que nunca mida más de 800px, asígnale max-width:800px y margin:auto para centrarlo
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -

Etiquetas: alineamiento, html
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 15:10.