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 でスクロールバーの幅が正しく計算されていないようです。試してみ ましたが、水平スクロールバーを非表示にします (Firefox で div の自動水平overflow:-moz-scrollbars-vertical;スクロールバーを表示するにはどうすればよいですか? ) が、テキストの一部がスクロールバーの下に隠されているため、垂直スクロールバーは常に存在しますが、テキストは非表示になりません。overflow-y:scroll;

編集

目的の出力は (IE10)

IE10の結果

しかし、Firefoxにはこれがあります:

Firefox の結果

提案されたオーバーフローの非表示は解決策ではありません。

オーバーフロー-y 隠し overflow-y:hidden(希望のスクロールはできません)

オーバーフロー×秘伝 overflow-x:hiden(文字の一部が隠れています)

4

1 に答える 1

1

右側にパディングを追加するだけです:)

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

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

パディングなし パディング付き

于 2016-05-23T10:18:25.767 に答える