2009-06-08 20 views
6

Qualcuno ha esperienza con i plugin jquery vAligh o simili?allineamento verticale div all'interno di un div usando jquery?

Ho provato ad allineare per il seguente ma non riesce .. Stavo usando un semplice plugin valign (metterò il plugin alla fine, è un'estensione jquery), se qualcuno può aiutare sarebbe davvero utile .. .

var overlayLayer = $("<div id='office-location'></div>").addClass('modal-overlay'); 
$('body').append(overlayLayer); 

$('<div id="content-for-overlay" style="background-color: white;"></div>').appendTo(overlayLayer); 

this.render({ to: "content-for-overlay", partial: "office-location-modal" }); // this just copies html into the layer 

$('#content-for-overlay').vAlign(); THIS USES a plugin called valign but it doesn't align 

$("body").css("overflow", "hidden"); 
$('#office-location').css("opacity", 0.8).fadeIn(150); 
$('#content-for-overlay').css("opacity", 1); 

heres l'estensione FN ..

(function($) { 
$.fn.vAlign = function() { 
    return this.each(function(i) { 
     var h = $(this).height(); 
     var oh = $(this).outerHeight(); 
     var mt = (h + (oh - h))/2; 
     $(this).css("margin-top", "-" + mt + "px"); 
     $(this).css("top", "50%"); 
     $(this).css("position", "absolute"); 
    }); 
}; 

}) (jQuery);

+0

Grazie a tutti, ho finalmente optato per il seguente, alla fine, la sua non senza errori, ma c'è correzioni nei commenti, errori in IE ma con correzioni va bene ... http://code.google.com/p/jquerydevbrazil/wiki/jQueryCenterPlugin forse sarà di qualcun altro a qualcun altro –

risposta

6

Si potrebbe provare a utilizzare una tecnica CSS per centrare verticalmente gli elementi, come mostrato here. Credo che il metodo sia cross-browser, anche se sfortunatamente aggiunge un ulteriore div al tuo markup.

sarebbe abbastanza facile da applicare questo CSS per il markup utilizzando jQuery, utilizzando $().css()

+1

http://stackoverflow.com/ domande/967022/how-do-i-vertical-center-text-next-to-an-image-in-html-css ha una discussione che è anche rilevante. – ajm

Problemi correlati