这可能听起来很疯狂,直到我亲眼看到它才相信它。
单击滚动条或箭头之间的空格时,垂直滚动条不会滚动。你必须拖动它才能让它滚动。这只发生在丑陋的默认主题(不是Windows经典)。
滚动条后面有一些重的javascript,可以在页面上滚动另一个DIV。
有没有人以前遇到过这个?为什么主题会影响IE的渲染?!只有IE!
修改: 当您处于“非经典”XP主题(默认丑陋的主题)时会发生此问题。切换主题不会导致此问题,但如果从默认设置切换到经典,它确实会修复它。
答案 0 :(得分:3)
添加
时有用吗?<!--[if IE]><meta http-equiv="MSThemeCompatible" content="no"><![endif]-->
到你的页面来源?当我启用非经典主题时,它可以很好地解决IE中的故障。请注意条件注释是存在的,以便firefox不解析标记(因为它有时会搞砸firefox中的滚动条)。
答案 1 :(得分: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;
}
谢谢, 格雷斯
答案 2 :(得分:1)
为了避免某些Windows限制,IE重新实现了几乎所有网页上可见的控件。
The Old New Thing : Windowless controls are not magic
&LT;摘录&GT;
Internet Explorer团队重新实现了网页所需的所有控件。他们有自己的无窗口复选框控件,无窗口列表框控件, 无窗口编辑框,依此类推。除了重现窗口控件的所有功能外,Internet Explorer人员还必须重现“外观” 窗口控制,直到最后一个像素。 (功能如 DrawThemeBackground和DrawFrameControl在这里证明非常有用。)
如果我没记错的话,唯一仍在窗口的元素是the <SELECT> element。
如果你眯着眼睛,你可以看到一些他们没有钉住它的地方。例如,如果在文本框中单击鼠标右键,则会缺少“从右到左阅读顺序”和“插入Unicode控制字符”等选项。另一个例子,请注意当您将鼠标悬停在它们上方时,IE的滚动条不会亮起。
&LT; /摘录&GT;
如果没有看到实现页面的代码,我猜这是“IE的控件不能原生化”的另一种表现形式。
如果您与Microsoft签订了支持合同,我建议您通过该渠道向他们投诉;如果没有,请查看您是否在microsoft.public.internetexplorer.general新闻组中收到任何回复。回到IE6,他们用KB824145打破了滚动条,并用KB832894修复了它,所以这些问题没有发生并且之前已经解决了。
答案 3 :(得分:0)
首先,我会开始说IE浏览器是一个糟糕的浏览器,在某些情况下,您在开发Web应用程序时无法控制问题。
在这种情况下,我没有遇到过这样的问题,谷歌搜索也没有提到任何关于这个主题的内容。我会说你的代码中必定会出现一些奇怪的错误。很可能它不会在很多系统中破坏,所以除非它是一个非常重要的应用程序(销售,政府......),否则你可以这样做。
这样看:谁将windows的风格改为经典?极客。极客们使用IE吗?没有。^^ ......开玩笑,但不是真的。
如果这很重要,我需要看看你的实际代码“滚动条背后有一些重的javascript,它会驱动页面上另一个DIV的滚动。”