2009-07-29 252 views
8

當您轉到我的網站上存在額外內容的頁面時,滾動條出現在右側,但其內容有一個明顯的左移。您注意到這一點,通過點擊回家,然後在我的網站(www.ipalaces.org)上託管並返回瀏覽器滾動條移動

如何解釋我的頁面上的瀏覽器滾動條? 我可以做到這樣滾動條總是可見的嗎?

我的網站是www.ipalaces.org,請讓我知道。

+0

對於那些試圖重現,你可能需要讓你的窗口更小的大小。 – waiwai933 2009-07-29 22:45:54

+0

在IE8中適合我。我們在這裏談論什麼瀏覽器? – Joey 2009-07-29 22:46:53

+0

所有瀏覽器,我在我的HDTV上使用1360 x 768分辨率,720P,因此您的分辨率可能更高,這樣您可以看到完整的內容,如果這種情況嘗試在這裏http://www.ipalaces.org/hosting/ domains.html,然後點擊主頁以注意區別。 – ParoX 2009-07-30 04:42:26

回答

3

讓你的身體101%高......這將迫使滾動條總是顯示出來。

body {height:101%} 
+0

這樣做效果不錯,但隨後出現了令人討厭的1像素下移。有沒有辦法讓所有的瀏覽器顯示滾動條,但如果不需要,禁用它。像-moz-scrollbars-vertical;但更普遍 – ParoX 2009-07-30 02:33:48

+0

html,body {height:100%; margin-bottom:1px;} 似乎有縮小差距,但仍有一個令人討厭的差距。 – ParoX 2009-07-30 04:47:32

11

那麼,這取決於瀏覽器。

body { 

overflow-y: scroll; 
overflow-x: scroll; 
overflow: -moz-scrollbars-vertical; 

} 

應該強迫水平(overflow-x)和垂直滾動條將被顯示(overflow-y)。雖然我記得歌劇有時不尊重聲明,除非它在<body>(divs之類)中的元素上。


編輯關於@ wsanville的,和@ BHare的,評論。

+0

當需要它時,會留下醜陋的雙滾動條。 – ParoX 2009-07-31 06:15:42

+0

定義'雙滾動條'。每個軸上有兩個滾動條? – 2009-07-31 08:33:03

+1

您不應該將溢出屬性應用於'html'和'body',否則您將有兩個滾動條!呸! – wsanville 2010-09-09 13:14:46

1

試試這個......我知道它很醜,但它可能是唯一的方法。

#force_scroll { 
    width: 1em; 
    position: absolute; 
    top: 0; 
    bottom: -0.1px; 
    z-index: -1; 
} 

然後在你的HTML某處(最好是就在您的</body>前):

<div id="force_scroll"></div> 
+0

在我之前? 這也行不通。 – ParoX 2009-07-31 06:06:46

+0

-0.1px不是一個有效的衡量標準。即使如此,使用-1px或-0.1em仍然會產生與margin-bottom:1px相同的效果。 頁面仍然可以向下滾動1個像素。 – ParoX 2009-07-31 06:14:57

+0

@Brian,請參閱編輯。原本''沒有被轉義/標記爲代碼。所以它不在頁面上呈現。我意識到,儘管有用可能已經太遲了。 – 2010-03-07 03:49:56

1
body { 
    overflow: scroll; 
} 

我有同樣的問題,即使是最新的Firefox(3.5)。 溢出功能拯救了我的生命!

7

我測試過這對IE6,IE7,IE8,火狐3和Chrome,以及簡單的辦法有一個垂直滾動條總是可見很簡單:

html { overflow-y: scroll; } 
+0

這似乎不那麼hackish然後授予答案。 http://css-tricks.com/eliminate-jumps-in-horizo​​ntal-centering-by-forcing-a-scroll-bar/ – 2012-06-21 18:18:03

1

這似乎是工作偉大的我...

html { 
    overflow-y: scroll; 
}