var blok = $('.lightbox');
var yuk = $(window).height();
var gen = $(document).width();
var sT = window.scrollY;

$('.lightbox').css({

left : gen/2 - (blok.width() / 2),
top : sT + yuk/2 - (blok.height() / 2),

});

yukarıdaki kod ie dışındaki tarayıcılarda gayet güzel ekranı ortalatıyor bana.

Ancak iş internet explorer'a geldiğinde ise bu olay çalışmıyor. Yaptığı hata ise şu; scroll bar aşağıdayken lightbox açıldığında, div benim baktığım kısma değil sayfanın en tepesine açılıyor. sadece ie'de durum böyle. capslerden de anlayabilirsiniz.

daha evrensel bir uygulama yok mu sayfa ortalama ve özellikle scrolla göre ortalamayla ilgili?

 

abi boşa kasıyorsun. jquery falan neden uğraşıyosun ki?

cssden

position:fixed;
left:50%;
top:50%;
margin-left: (buraya bloğun genişliğinin yarısını negatif olarak yaz)px;
margin-top: (buraya bloğun yüksekliğinin yarısını negatif olarak yaz)px;

eğer genişlik yükseklik değişkense o zaman da cssden margin-left ve margin-top ı kaldırıp jquery ile

var blok = $('.lightbox');
blok.css({
marginLeft : (blok.width() / 2),
marginTop : blok.height() / 2)
});

böyle yap olsun bitsin.

cenkin gunlugu
1

mobil görünümden çık