【问题标题】:Internet explorer creates horizontal scrollbar for vertical scrollbar's widthInternet Explorer 为垂直滚动条的宽度创建水平滚动条
【发布时间】:2010-09-20 00:06:48
【问题描述】:

包含表格的 div 具有以下 CSS 样式:

#formulaAlts {
    float: right;   
    height: 200px;
    overflow: auto;
}

这使得当表格大于 200 像素时,滚动条仅出现在表格中,页面上的其他元素保持不变。太好了!

现在为我们的朋友 IE...
在 IE 中,该元素会生成垂直滚动条,而不会增大包含元素。为了“解决”这个问题,创建了一个水平滚动条。
太糟糕了。而且我不希望它糟透了……

有什么想法吗?

--编辑--
我发现这条线

overflow-x: hidden;

强制 IE 忽略水平滚动条。这更好.. 但不完全在那里,因为现在我的桌子的一部分是不可见的。

【问题讨论】:

  • 不能在包含的div上设置宽度吗?
  • 是的,我可以。但我还不知道宽度。这取决于值的宽度。

标签: css internet-explorer xhtml


【解决方案1】:

小心。

overflow-x

不是最广泛支持的属性。

我倾向于使用带有一些正确填充的包含 div:

CSS:

div.scroll {
  overflow:auto;
  padding-right:6px;
  /* I've found 6px to be just right my purposes, but try others*/
}

编辑:您需要在某处添加一个高度属性才能使其工作!我通常在 div.scroll 声明中有一个默认设置,然后针对特定情况(大多数)进行调整。 HTML:

<div class="scroll" >
  <table>
  <!-- your table stuff in here -->
  </table>
</div>

【讨论】:

  • 感谢您的回复。我做了类似的事情,但使用了 *-hack 所以只有 IE 能看到它。讨厌它,但在我找到更好的方法之前,必须这样做。
  • 嗯,“您需要在某处添加一个高度属性才能使其工作”是什么意思?我已经尝试解决这个问题几天了,到目前为止,互联网上建议的解决方案都没有对我有用...... :(
猜你喜欢
  • 1970-01-01
  • 2012-11-14
  • 2012-04-05
  • 1970-01-01
  • 1970-01-01
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 2014-08-27
相关资源
最近更新 更多