【问题标题】:Problems with scrollbar in IE9, position: fixed, overflow: autoIE9中滚动条的问题,位置:固定,溢出:自动
【发布时间】:2012-06-28 11:36:39
【问题描述】:

我在使用具有固定位置和溢出的 div 时遇到了 IE9 上垂直滚动条的奇怪问题:在 div 上自动设置。

查看这里使用 IE9 的案例并将窗口高度缩小到一个小尺寸。

http://bytiger.com/add/ie9_div_test.html

我可以确认这不会发生在 IE8 上。

有没有人知道一个合理的破解方法?我尝试将宽度设置为窗口宽度,但似乎它故意从 div 的大小中减去滚动条宽度。我想看看是否有一个解决方案不必计算这个常数或对其进行硬编码并将其添加回计算出的宽度。

干杯!

编辑:Jsfiddle 似乎没有表现出问题......所以这可能是一个关于可能发生的事情的重要提示。

http://jsfiddle.net/dvAKW/

【问题讨论】:

  • 我不确定这是否能解决您的问题,但在 IE9 中,您必须尽可能需要单位。如果省略单位,IE9 将忽略该规则。你的 css 中有很多无单位规则(包括 main/common.css)。

标签: html internet-explorer


【解决方案1】:

似乎 IE9 无法正确处理 box-sizing 属性 - 将其从“border-box”更改为“content-box”或将其留空将解决您的问题。

【讨论】:

  • IE9 似乎是唯一一个不喜欢在固定定位元素中使用绝对定位元素的盒子大小。或这些的某种组合
  • 很遗憾,这不是一个可接受的解决方案。将 box-sizing 设置为 content-box 违背了目的,因为这样您就不能使用 width:100% 并期望它相应地调整元素的大小,同时考虑到填充。
  • 好吧,我认为这是可以接受的。如果您了解content-box 的工作原理,那么您可以相应地设置宽度 - 100% 减去您放置在其上的任何填充 - 假设您为旧 IE 使用单独的样式表。此外,请确保在所有子节点上设置 box-sizing: border-box,因为 content-box 将被继承。
猜你喜欢
  • 2015-12-29
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多