3

我有一个动态创建的表放在一个 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 Horizo​​ntal scollbar for a div?),但部分文本隐藏在滚动条下,overflow-y:scroll;这导致垂直滚动条始终存在但不隐藏文本。

编辑

所需的输出是(IE10)

IE10 结果

但在 Firefox 中,我有这个:

火狐结果

建议溢出隐藏不是解决办法。

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

溢出 x 隐藏 overflow-x:hiden(部分文字被隐藏)

4

1 回答 1

1

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

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

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

无填充 带填充物

于 2016-05-23T10:18:25.767 回答