3

这听起来可能很疯狂,直到我亲眼看到它,我才相信它。

单击滚动条或箭头之间的空间时,垂直滚动条不会滚动。您必须拖动栏以使其滚动。这只发生在丑陋的默认主题(不是 windows 经典)中。

滚动条后面有一些很重的 javascript,驱动页面上另一个 DIV 的滚动。

有没有人遇到过这种情况?为什么主题会影响 IE 的渲染?!只有IE!

编辑:当您使用“非经典”XP 主题(默认的丑陋主题)时会出现此问题。切换主题不会导致此问题,但如果您从默认切换到经典主题,它会解决此问题。

4

4 回答 4

3

添加时有帮助吗

<!--[if IE]><meta http-equiv="MSThemeCompatible" content="no"><![endif]-->

到您的页面来源?当为我启用非经典主题时,它可以很好地解决 IE 中的故障。请注意,条件注释在那里,因此 firefox 不会解析标签(因为它有时会搞砸 firefox 中的滚动条)。

于 2009-06-20T19:52:35.590 回答
2

我在 XP 主题中的 IE7 中的垂直滚动条也遇到了同样的问题。经过多次实验,我终于找到了解决办法。我不知道这个解决方案是否适合您的情况。

带有渲染滚动条的容器(下例中的 div#scroll)必须大于 18px。低于该值的任何数字都将导致竖线禁用。

<div id="scroll">
     <div id="fill">
     </div>
</div>

样式表,例如:

#fill{
    width: 1px;
    height: 1000px;
}

#scroll {
    width: 18px; /* This has to be larger than or equal to 18. */
    height: 50px;
    overflow-y: scroll;
}

谢谢,格蕾丝

于 2011-06-01T19:17:00.060 回答
1

为了避免某些 Windows 限制,IE 重新实现了网页上几乎所有可见的控件。

旧新事物:无窗口控件并不神奇

<摘录>

Internet Explorer 团队重新实现了网页所需的所有控件。它们有自己的无窗口复选框控件、无窗口列表框控件、无窗口编辑框等。除了重现窗口控件的所有功能之外,Internet Explorer 人员还必须重现窗口控件的“外观”,直至最后一个像素。( DrawThemeBackgroundDrawFrameControl等函数在这里非常有用。)

如果我没记错的话,唯一仍然窗口化的元素是<SELECT> 元素

如果你眯着眼睛,你可以看到一些他们没有完全确定的地方。例如,如果您在文本框中单击鼠标右键,则会缺少“从右到左的阅读顺序”和“插入 Unicode 控制字符”等选项。作为另一个示例,请注意,当您将鼠标悬停在 IE 的滚动条上时,它们不会亮起。

</摘录>

在没有看到实现您的页面的代码的情况下,我猜这是“IE 的控件不是原生的”的另一种表现形式。

如果您与 Microsoft 签订了支持合同,我建议您通过该渠道向他们投诉;如果没有,请查看您是否在microsoft.public.internetexplorer.general新闻组中收到任何回复。回到 IE6,他们用KB824145破坏了滚动条并用KB832894修复了它,所以这些问题并不是以前没有发生过和解决过的。

于 2009-06-20T19:29:29.600 回答
0

首先,我要开始说 IE 是一个糟糕的浏览器,在某些情况下,您在开发 Web 应用程序时无法控制问题。

在那种情况下,我还没有遇到过这样的问题,而且谷歌搜索也没有找到关于这个主题的任何内容。我会说它一定是你的代码中的某些东西导致了一个奇怪的错误。它很可能不会破坏很多系统,所以除非它是一个非常重要的应用程序(销售、政府......),否则你可以保持这种状态。

这么看:谁把windows的风格改成经典的?极客。极客会使用 IE 吗?不。^^ ...开玩笑,但不是真的。

如果这很重要,我需要查看您的实际代码“滚动条后面有一些繁重的 javascript 驱动页面上另一个 DIV 的滚动。

于 2009-06-16T15:47:02.867 回答