IE7滚动条不起作用

时间:2010-06-22 12:12:16

标签: html css internet-explorer-7 scrollbar internet-explorer-6

我正在修复IE7的错误,这个让我难过。此page中的内容大于其包含的div。 IE7正确显示垂直滚动条,但内容位于垂直滚动条的顶部,当用户单击滚动按钮时,内容不会移动。我无法想象造成这种情况的原因。任何想法?

编辑:我附上了问题的截图: alt text http://img31.imageshack.us/img31/605/picture5kw.png

3 个答案:

答案 0 :(得分:6)

我认为这是因为IE7和IE6无法正确解释您的overflow-xoverflow-y属性:

#content_box  {
float:left;
height:456px;
margin-left:20px;
overflow-x:hidden;
overflow-y:scroll;

这很容易解释为IE6:它根本不知道那些属性。至于为什么它在IE7中不起作用,也许解释是here(这对我来说太复杂了,我还没有吃过午餐。)

我认为可行的方法(在非常粗略检查您的代码之后,如果不是,请不要起诉我)是引入一个没有宽度的额外div容器组。这将以防止溢出的方式自动调整其中的任何width: 100%元素。 (我假设为什么这是一个问题,首先是盒子模型问题与margin-left: 20px结合,对吗?)

答案 1 :(得分:3)

  

IE7滚动问题

position: relative应用于具有属性overflow-y:auto;

的容器

e.g。

#content_box{
    position: relative;
    overflow-y:auto;
}

以上解决方案适合我。

答案 2 :(得分:1)

是否可以将.grey_box的宽度设置为硬编码510px?因为看起来IE7是唯一能够做到这一点的人,因为#content_box设置为530px 10px填充,这会使520px内的所有框都变宽,并且这是滚动条的某个地方。 Pekka也可能会出现问题,因为IE7和IE6没有正确实现溢出。