Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: miguelangelss4 en 26 Mayo 2010, 22:20 pm



Título: AYUDA: centrado dinámico de capa
Publicado por: miguelangelss4 en 26 Mayo 2010, 22:20 pm
Buenas a todos, y gracias por interesaros por mi post.... bien al temita.

A ver estoy intentando hacer una web y tengo una capa que estará oculta hasta que el usuario la pinche en un determinado link, hasta ahí todo correcto. Quiero que la capa aparezca en el centro del documento (ojo, centro del documento, que no de la pantalla), independientemente de la resolución de pantalla del usuario, o de si tiene el explorador maximizado o no; y ya de paso si puede ser que la capa se vuelva a centrar cada vez que el tamaño del explorador se modifique (de ahí lo de "centrado dinámico").

Casi he conseguido centrarlo, pero me queda un pelín desplazado... adjunto una imagen para q os hagáis mejor idea del asunto:

(http://r.i.elhacker.net/cache?url=http://img541.imageshack.us/img541/2664/capao.png)

*****EDITO******* Las lineas negras indican el centro del documento y el recuadro rojo los bordes de la capa, quiero que el centro de ambos coincida.

Eso lo he conseguido después de googlear bastante y conseguir parir, poco a poco, este código:

Código:
<style>
body {
margin: 0;
padding: 0;
}
#centro {
background-color:#FF0;
position: absolute;
left: 50%;
top: 50%;
}
</style>
Aunque mi idea es utilizar javascript (con jquery mejor :xD)....

¿Alguna idea?
Gracias a todos!!


Título: Re: AYUDA: centrado dinámico de capa
Publicado por: Mr. Crowley en 5 Junio 2010, 00:44 am
Es esto?

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<style type="text/css">
#divCapa{
position:absolute;
width:400px;
height:200px;
background:#000;
left:50%;
margin-left:-200px; /* la mitad del width en negativo */
top:50%;
margin-top:-100px; /* la mitad del height en negativo */
color:#fff;
}
</style>
</head>

<body>
<div id="divCapa">
Hola mundo
</div>
</body>
</html>