为什么我的网页不能在Internet Explorer 8中滚动?

时间:2011-02-06 02:39:35

标签: internet-explorer-8

所以我花了大量时间编写和设计这个网页,它在我测试过的每个浏览器中都能很好地运行:IE7,IE9,Firefox,Chrome,Safari。但是当我在IE8中查看网页(并且只有IE8)时,垂直滚动被禁用。滚动条就可以了,但它已关闭,我无法使用它或鼠标滚轮。

如果我绝对需要,我会发布网页代码,但首先我想知道是否有人曾经听过这种情况,或者有任何初步的想法。

6 个答案:

答案 0 :(得分:10)

好的,我想出来了。如果您将height: "100%";放在页面的CSS样式表的html标记中,它将在IE8中中断滚动,但其他浏览器仍然有效。去图。

答案 1 :(得分:4)

这是让滚动条以100%的高度工作的黑客方法。不是最好的解决方案,但它现在在IE8中滚动。

html {
    overflow-y: hidden\9;
}
html, body {
    height: 100%\9;
}
body {
    overflow-y: scroll\9;
}

答案 2 :(得分:2)

主要是你应该看到的三件事

  1. 如果您将样式设为溢出:隐藏
  2. 如果你的页面百分比很高。
  3. 如果你给了浮动:静态。
  4. 修复此问题将解决您的IE 8问题。

    原因:IE 8不同于其他用于CBC检查IE浏览器!对于主题,IE 8隐藏(只有滚动条)滚动条如果你有溢出隐藏,如果你有高度的地方高度,因为100%IE 8需要溢出为隐藏(可以说是自己的!)n float是元素谁可以超越页面大小,如果你有它作为继承或相对,但静态剂量不会动态增加。

答案 3 :(得分:1)

您试过其他IE8(不是您当地的ie8)?也许问题出在你的ie8。

  • 使用无插件模式运行或尝试禁用所有插件(包括栏)
  • 恢复高级设置。工具 - >互联网选项 - >高级 - >恢复高级选项。

答案 4 :(得分:0)

我也多次遇到过这种类型的问题。使用IE8滚动条,在纯HTML页面中不可见。因此,请检查<body></body>标记内的内容。可能有一些marginpadding标记。

我目前正在使用IE8,但是没有显示这样的滚动条。无需修复height:100%HTML的{​​{1}}。请深入查看您的页面。

答案 5 :(得分:0)

如果您正在使用CSS,那么您需要重置CSS值以便在​​IE8中正确呈现页面可能会派上用场。我提供了http://sixrevisions.com/css/css-tips/css-tip-1-resetting-your-styles-with-css-reset/的链接以及代码段。这可能对你有所帮助。如果您正在开始开发,那么这是一个很好的网站。

重置到全部开始......

CSS重置的概念首先被正式讨论,当时恐龙仍在漫游互联网(2004年确切地说)安德鲁·克雷斯帕尼斯。在他的文章中,他建议在CSS文件的开头使用通用选择器(*)来选择所有元素并为它们赋予0值以进行边距和填充,如下所示:

* {
   margin: 0;
   padding: 0;
}

通用选择器的作用类似于通配符搜索,类似于编程中的正则表达式匹配。因为在这种情况下,*之前没有另一个选择器,所有元素(理论上 - 一些浏览器不完全支持它)是匹配的,因此所有元素的所有边距和填充都被删除(因此我们避免间距实施例1)中显示的差异。

将通用选择器边距/填充重置应用于前面的示例,我们现在删除所有浏览器之间的所有不一致的间距(换句话说,我们不会让浏览器为我们考虑,我们向他们展示谁是老板)。

示例2:应用通用选择器边距/填充重置

但是现在我们在段落之间没有任何间距,所以在我们的通用选择器重置之下,我们将声明我们希望我们的段落看起来像这样的方式。您可以通过多种方式执行此操作 - 您可以将边距(或填充)放在段落的开头或顶部,或两者兼而有之。您可以使用ems作为单位或像素或百分比。

重要的是我们选择浏览器呈现它的方式。对于我们的示例,我选择在段落顶部和底部添加边距(而不是填充) - 但这是我的选择,您可能希望采用不同的方式。

以下是我使用的内容:

 * { margin:0; padding:0; }
    p { margin:5px 0 10px 0; }

示例3:在通用选择器后声明样式规则。

Note: The example I used for discussion is a simplified example. If you only used paragraphs for your web pages and no other elements, you wouldn’t want to reset your margins to 0 using the universal selector only to declare a style rule right after it for your paragraph. We’ll discuss this more fully along with other best practices later on down the page.

此后不久 - CSS大师Eric Meyer进一步建立了重置边距和填充的概念。在Eric Meyer的探索中,他讨论了Tanek撤消默认HTML样式(他称之为undohtml.css)的工作,它不仅重置边距和填充,还有其他属性,如行高,字体样式和列表样式(某些浏览器使用不同的子弹)对于无序列表项目。)

经过多次迭代和改进后,我们得到了一个名为CSS Reset Reloaded CSS Reset的精彩解决方案,它不仅通过命名所有可能的HTML标签使用更高的特异性,使得这种CSS重置方法比通用选择器方法更准确(因为通用选择器无法将重置应用于所有HTML标记),但也为诸如表格之类的麻烦元素设置默认值(其中border-collapse属性不会在浏览器中一致地呈现)。

当然,还有其他重置CSS的方法(例如我目前在Six Revisions上使用的Yahoo!的YUI重置CSS),你可以根据你的偏好和项目需求自行推出。

网站:http://sixrevisions.com/css/css-tips/css-tip-1-resetting-your-styles-with-css-reset/

注意:我对此有点新意,所以请耐心等待。