水平スクロールのみのDiv


88

多くの列を持つテーブルを含む固定幅のDIVがあり、ユーザーがDIV内でテーブルを水平にスクロールできるようにする必要があります。

これは、IE6およびIE7のみで動作する必要があります(内部クライアントアプリケーション)。

以下はIE7で機能します。

overflow-x: scroll;

誰かがIE6でも機能するソリューションを手伝ってくれる?


overflow-xプロパティはIE6で正常に機能するはずです。複雑な要因があるかもしれません。問題を示すテストケースを投稿できますか?
Ben Blank

私の問題は別の場所にあるようです-私のコンテナーDIVがコンテナーにオーバーフローしています。
Richard Ev

回答:


189

解決策はかなり簡単です。テーブルのセルの幅に影響を与えないように、空白をオフにします。水平スクロールバーを確実に取得するには、overflow-xをオンにします。そしてそれはほとんどそれです:

.container {
    width: 30em;
    overflow-x: auto;
    white-space: nowrap;
}

あなたは見ることができ、ここで最終結果を、以下のアニメーションインチ テーブルがコンテナの高さを決定する場合、明示的にに設定overflow-yする必要はありませんhidden。ただし、これもオプションであることを理解してください。

ここに画像の説明を入力してください


3
欠けていましたwhite-space: nowrap;。魅力的な作品!
AndreFeijo 2017

4
画像が1000語の価値がある場合、gifは100万の価値があります。
HoldOffHunger 2017年

あなたはチャンピオンです、私の友人。
スペンサーウィリアムズ

すべての列に個別の垂直スクロールも必要で、メインコンテナーに垂直スクロールがない場合はどうなりますか?私はwhite-space: nowrap;メインコンテナーと設定height、およびoverflow-y: scroll個々の列に対してそれを実行しようとしていますが、機能しません。
Sachin

空白:nowrap; 私はいつもそれに落ちます!素晴らしい答えをありがとう!
タルシボニー

68

選択した回答を機能させることができませんでしたが、少し調べた結果、水平スクロールのdiv white-space: nowrapがCSSに含まれている必要があることがわかりました。

ここに完全な作業コードがあります:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Something</title>
    <style type="text/css">
        #scrolly{
            width: 1000px;
            height: 190px;
            overflow: auto;
            overflow-y: hidden;
            margin: 0 auto;
            white-space: nowrap
        }

        img{
            width: 300px;
            height: 150px;
            margin: 20px 10px;
            display: inline;
        }
    </style>
</head>
<body>
    <div id='scrolly'>
        <img src='img/car.jpg'></img>
        <img src='img/car.jpg'></img>
        <img src='img/car.jpg'></img>
        <img src='img/car.jpg'></img>
        <img src='img/car.jpg'></img>
        <img src='img/car.jpg'></img>
    </div>
</body>
</html>

2
ここで「空白:nowrap」の提案は、正しい答えに組み込まれているようです。承認された回答を改善するための+1。
HoldOffHunger 2017年

21
overflow-x: scroll;
overflow-y: hidden;

編集:

わたしにはできる:

<div style='overflow-x:scroll;overflow-y:hidden;width:250px;height:200px'>
    <div style='width:400px;height:250px'></div>
</div>

17

水平スクロールの場合、次の2つのプロパティに注意してください。

overflow-x:scroll;
white-space: nowrap;

ワーキングリンクを参照してください:私をクリックしてください

HTML

<p>overflow:scroll</p>
<div class="scroll">You can use the overflow property when you want to have better   control of the layout. The default value is visible.You can use the overflow property when you want     to have better control of the layout. The default value is visible.</div>

CSS

div.scroll
{
background-color:#00FFFF;
height:40px;
overflow-x:scroll;
white-space: nowrap;
}

3

これを試して:

HTML:

<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
</div>

CSS:

.container {
  width: 200px;
  height: 100px;
  display: flex;
  overflow-x: auto;
}

.item {
  width: 100px;
  flex-shrink: 0;
  height: 100px;
}

空白:nowrap; プロパティではテキストを折り返さないでください。例については、こちらをご覧くださいhttps : //codepen.io/oezkany/pen/YoVgYK

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.