2011-12-03 88 views
0

我有一個div內的div,我想能夠滾動內部div周圍。外部div是內部視口。內部潛水垂直居中和水平居中,外部居民區設置爲overflow:auto,所以如果需要滾動。奇怪的CSS滾動問題,無法滾動到左上

當內部div大於外部,我需要滾動我可以到右下角就好,但我無法到達左上角。

Here是我到目前爲止的副本。將尺寸更改爲Force Issue以使內部div變大。

CSS - #Stack的width,height,margin-top和margin-left通過javascript設置。

/* The Stack */ 
#StackWrapper 
{ 
    position: absolute; 
    top: 5px; 
    bottom: 5px; 
    left: 330px; 
    right: 5px; 
    overflow: auto; 
} 

#Stack 
{ 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    border: 1px solid black; 
    background-image: url('../images/stripes.png'); 
} 

回答

0

您的DTD聲明與樣式表一起在正文內部設置(並且沒有正確完成)。

DTD Delcaration應該在標籤上方。

這樣做可以清除怪癖模式或未正確定位的問題。

要糾正的定位,你應該改變CSS

element.style { (set by jquery for the selection) 
height: 768px; 
margin: 0; 
padding: 0; 
width: 1024px; 
} 
#Stack { 
background-image: url("../images/stripes.png"); 
border: 1px solid black; 
position: absolute; 
} 

你要記住,凡事都要有0 margin和padding所以它開始於左上角和右下角結束的以下行。您的利潤導致切斷。

如果你希望它居中,你可能想要查看jquery來將滾動條置於中間位置。

快速的JQuery滾動你的div來中心

$("div#StackWrapper").scrollLeft(width/2); 
$("div#StackWrapper").scrollTop(height/2); 
+0

我固定在我的部分DTD,愚蠢的錯誤。至於其他方面,如果它小於包裝,我需要頂部50%,剩下50%和負邊距才能使包裝中的div居中。我看不出滾動效果如何,'overflow:auto'應該看到邊界框外面有東西讓我滾動。 – Justin808

+0

將其更改爲margin:auto並添加jquery滾動條。當我刪除負邊距和上/左時,它對我來說工作正常。 –

+0

好吧,這固定了滾動問題。它似乎溢出只適用於右下角,而不是左側或右側(負邊距)。當內部div小於外部div時,將邊距設置爲自動居中對齊內部div,但不是垂直居中。 – Justin808