2009-07-29 155 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; 
}