Internet Explorer 会为垂直滚动条的宽度创建水平滚动条。

9
一个包含表格的div具有以下CSS样式:
#formulaAlts {
    float: right;   
    height: 200px;
    overflow: auto;
}

这样做可以使表格大于200像素时,仅为表格出现滚动条,页面上的其他元素保持不变。太棒了!
现在是针对IE浏览器的问题...
在IE中,元素会生成垂直滚动条,但不会增加其容器元素的大小。为了“解决”这个问题,创建了一个水平滚动条。
这很烦人。我不希望它烦人...
有什么好的想法吗?
--编辑--
我发现行

overflow-x: hidden;

强制IE忽略水平滚动条。这样做更好了..但还不够,因为现在我的表格的一部分是不可见的。


您能否不在包含的 div 上设置宽度? - Prestaul
是的,我可以翻译。但我还不知道宽度。这取决于值的宽度。 - Boris Callens
1个回答

2
小心。
overflow-x

这并不是最常见的属性。

我倾向于使用一个包含有右padding的div:

CSS:

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

编辑:为了使此方法生效,您需要在某个地方添加一个高度属性!我通常在div.scroll声明中设置默认值,然后针对特定情况进行微调(大多数情况下)。

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

谢谢回复。我做了类似的事情,但使用了 *-hack,这样只有IE才能看到它。虽然不喜欢,但在找到更好的方法之前,这将是必须的。 - Boris Callens
“你说的‘你需要在某个地方添加一个高度属性才能使其工作’是什么意思?”我已经尝试解决这个问题几天了,但到目前为止,互联网上提供的所有解决方案都没有起作用... :( - Rimas Kudelis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接