Como centrar un div con jQuery

0

Para lograr centar horizontal y verticalmente un elemento en una página web podemos usar CSS, pero si necesitamos que este elemento quede centrado al redimensionarse la ventana y para ello la mejor opción es jQuery ya que así el elemento se ajusta al ancho y al alto de la ventana cada vez que ésta se redimensiona.

Otra ventaja es que no hay necesidad de usar ni reglas ni otras propiedades en el código CSS, simplemente debemos tener el formato que le queremos aplicar al elemento.

El código para esto es:

<div class="alpha">
<h1>Div centrado con jQuery solamente</h1>
</div>

Con este código CSS le aplicamos un formato bastante sencillo al elemento y además definimos el largo y el ancho del mismo.

.alpha{
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow:   10px rgba(, , , 0.5);
-webkit-box-shadow:   10px rgba(, , , 0.5);
box-shadow:   10px rgba(, , , 0.5);
height: 150px;
background-color:#FFF;
width: 270px;
padding:10px;
text-align:center;
display:none;
}

Se utiliza el display:none para esconder el elemento evitando así que este se vea antes de centrarlo con jQuery.Y finalmente el código jQuery que dará el resultado que buscamos:

$(document).ready(function () {
$(window).resize(function () {
$('.alpha').css({
position: 'absolute',
display: 'inline',//mostramos el elemento
left: ($(window).width() - $('.alpha').outerWidth()) / 2,
top: ($(window).height() - $('.alpha').outerHeight()) / 2
});
});
// Corremos nuestra nueva funcion
$(window).resize();
});
Quizas te interese   Excelente Slider en CSS y jQuery gratis y fácil de usar

Con el artibuto position:absolute nos aseguramos de ocupar toda la pantalla, luego mostramos el elemento (.alpha)  con display ya que antes estaba “escondido”.

Lo que se hace luego es calcular el largo y ancho de la pantalla para obtener los valores que se utilizarán en top y left y con ello centrar nuestro elemento.

Para que esta función de jQuery funcione el usuario que visita nuestra página debe tener activado JavaScript, caso contrario el elemento no se va a ver ya que en CSS lo “escondimos”

Si quieren ver un ejemplo funcionando pueden hacerlo acá

Fuente | Eliseos

Dejar una respuesta

Please enter your comment!
Please enter your name here