Firefox:如何在使用min-width和max-height时防止水平滚动条?

时间:2013-04-17 15:00:30

标签: css firefox html cross-browser scrollbar

我有一个动态创建的表放在div中。整个结构可以任意定位在页面上。要求是(自动垂直滚动条而不是水平滚动条):
- 最小宽度,当文本较长时放大 - 最大高度,当有更多行时,应显示滚动条。
HTML:

<div class="container" style="top:5px;">
<table>
  <tr><td style="white-space: nowrap;">Lorem ipsum dolor sit amet, consectetur adipisicing elit;</tr></td>
  <tr><td>2ed do eiusmod tempor</tr></td>
  <tr><td>3ed do eiusmod tempor</tr></td>
  <tr><td>4ed do eiusmod tempor</tr></td> 
</table>

CSS:

.container {
   background-color: grey;  
   max-height: 50px;min-width: 70px;
   overflow-y: auto;
   position: absolute;}

http://jsfiddle.net/PUMAj/

代码在IE(10)中按预期工作,但当出现垂直滚动条时,Firefox中有一个水平滚动条。似乎在Firefox中无法正确计算滚动条的宽度。我尝试了overflow:-moz-scrollbars-vertical;,它隐藏了水平滚动条(How to get firefox to show an auto horizontal scollbar for a div?),但文本的一部分隐藏在滚动条和overflow-y:scroll;下,导致垂直滚动条始终存在但不隐藏文本。

修改

所需的输出是(IE10)

IE10 result

但是在Firefox中我有这个:

Firefox Result

建议的隐藏溢出不是解决方案。

overflow-y hidden overflow-y:hidden(无法进行所需的滚动)

overflow x hiden overflow-x:hiden(隐藏了部分文字)

1 个答案:

答案 0 :(得分:1)

只需在右侧添加一些填充:)

padding-right: 8px;
overflow-x: hidden;

http://jsfiddle.net/PUMAj/18/

without padding with padding