2011-02-06 220 views
11

所以我花了大量的时间编写和设计这个网页,它在我测试过的每个浏览器中都能很好地工作:IE7,IE9,Firefox,Chrome,Safari。但是当我在IE8中查看网页时(只有IE8),垂直滚动被禁用。滚动条没有问题,但它已关闭,我无法使用它或鼠标滚轮。为什么我的网页不能在Internet Explorer 8中滚动?

我会发布网页的代码,如果我绝对必须的,但首先我想看看有没有人曾经听说过这种情况或有任何初步想法。

+1

您将需要首先添加一些细节... CSS?基本的HTML结构? – benhowdle89 2011-02-06 02:42:35

+0

这很有趣,当我看着CSS样式表来获取这些细节时,我看到了一些我以前从未见过的东西,并解决了问题!我会把它放在这里作为答案,以防其他人遇到类似的情况。 – BCXtreme 2011-02-06 02:52:53

回答

10

好的,我明白了这一点。如果将height: "100%";放入页面CSS样式表的html标记中,它将在IE8中中断滚动,但其他浏览器仍然可以使用。去搞清楚。

+1

有什么办法解决这个问题?我一直在为此工作4个小时。 – Ray 2012-07-24 20:26:50

0

我也遇到过这种类型的问题很多次。与IE8的滚动条,不应该在一个普通的HTML页面中可见。因此,请检查您的<body></body>标签内的内容。可能有一些marginpadding标记。

我目前使用IE8,但没有这样的滚动条显示。无需为HTMLBODY修复height:100%。请深入检查您的页面。

1

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

与无插件模式
  • 运行或尝试禁用所有插件(包括酒吧)
  • 还原高级设置。工具 - > Internet选项 - >高级 - >恢复高级选项。
0

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

复位到这一切开始...

CSS复位的概念最早是讨论正式遥想当年恐龙安德鲁Krespanis仍旧徘徊在互联网(2004年是精确的)。在他的文章,他建议在你的CSS文件的开头使用通用选择器(*)选择所有元素,并给他们margin和padding 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的探索中,他讨论了Tanek的工作,撤消了默认的HTML样式(他称为undohtml.css),它不仅重置边距和填充,还包含其他属性,如行高,字体样式和列表样式(某些浏览器使用不同的项目符号对于无序列表项)。

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

当然,还有其他方法可以重置您的CSS(例如雅虎的YUI Reset CSS,我目前在Six Revisions上使用),并且您可以根据自己的偏好和项目需要推出自己的CSS。

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

注:我在这种新的,所以请多多包涵。

2

主要有三件事情你应该看到

  1. 如果你给风格溢出:隐藏
  2. 如果您在页面百分比给出HIGHT。
  3. 如果你给float:static。

修复这个问题,你的IE 8问题就解决了。

原因:IE 8不同于CBC检查IE首先的其他内容!对于这个话题,IE 8隐藏了滚动条(只有滚动条),如果你有隐藏溢出的话,那么如果你有100%的位置,那么IE 8会把溢出隐藏起来(可以说是由它自己决定!)n float是元素谁可以超越页面大小,如果你把它作为继承或相对的,但静态不会动态增加。

4

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

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