2013-02-26 17 views
7

Ekranın ortasına div öğesi yerleştirmem gerekiyor. Aşağıda basit bir kod buldum, ancak sayfanın "toplam yüksekliği/2" değil, GERÇEK ekranın merkezine ihtiyacım var!Bir div öğesini ACTUAL ekranının ortasına nasıl konumlandırın? (JQuery)

Burada, gerçek ekranı değil, bir öğeyi ortalayan JQuery kodudur; dediğim gibi

jQuery.fn.center = function() { 
this.css("position","absolute"); 
this.css("top", ($(window).height() - this.height())/2+$(window).scrollTop() + "px"); 
this.css("left", ($(window).width() - this.width())/2+$(window).scrollLeft() + "px"); 
return this;} 

i (gibi 1366 * 768 ya da her türlü kullanıcıların tarayıcılarını resized) gerçek ekran boyutlarını hesaplamak ve ekranın ortasındaki elemanını konumlandırmak gerekiyor. Yani, sayfayı aşağı kaydırırsam, daima ortalanmış div tekrar merkezde olmalıdır. senin seçici ile

var width=$("#div").css("width"); 
var half=width/2; 
$("#div").css("marginLeft","-"+half+"px"); 

Değişim #div:

+0

[Bu cevap] (http://stackoverflow.com/questions/504052/determining-position-of-the-browser-window-in-javascript) Eğer doğru yönde gidiyor alabilirsiniz. Oldukça eski bir iş parçacığı olduğundan eminim ki farklı tarayıcılar için gereken farklı çağrıları tamamlayan güzel bir kütüphane var. – Matthew

+0

@Matt IE'nin artık screenX ve screenY'yi kabul ettiğini söyleyen bir yorum vardı. Şimdi çapraz tarayıcı uyumlu. :) –

cevap

0

BU YTL. Eğer fixed konumlandırma kullanmak yerine yapmayı kabul ediyorsanız

+0

Tekrar ... Dikkatlice okursanız, soru merkezi merkezleme ile ilgilidir ve HORIZONTAL merkezlemesini öneriyorsunuz. – Havok

1

o ..

#sample{ 
margin-left:auto; 
margin-right:auto; 
width:200px;//your wish 
} 

çalıştığını düşünüyorum olarak css stil vermek #sample

olarak bu atlayışı

+0

Dikkatle okursanız, soru VERTICAL centering hakkındadır ve HORIZONTAL merkezlemesini öneriyorsunuz. – Havok

+0

ve sabit elemanlar –