Yalnızca yatay kaydırmalı div


89

Çok sayıda sütun içeren bir tablo içeren sabit genişlikte bir DIV'ye sahibim ve kullanıcının tabloyu DIV içinde yatay olarak kaydırmasına izin vermem gerekiyor.

Bunun yalnızca IE6 ve IE7'de çalışması gerekir (dahili istemci uygulaması).

Aşağıdaki IE7'de çalışır:

overflow-x: scroll;

IE6'da da çalışan bir çözüme kimse yardımcı olabilir mi?


Overflow-x özelliği IE6'da gayet iyi çalışmalıdır; karmaşık faktörlere sahip olabilirsiniz. Sorunu sergileyen bir test senaryosu yayınlayabilir misiniz?
Ben Blank

Sorunum başka bir yerde gibi görünüyor - içeren DIV, kabına taşıyor.
Richard Ev 14/09

Yanıtlar:


200

Çözüm oldukça basittir. Tablodaki hücrelerin genişliğini etkilemediğimizden emin olmak için beyaz boşluğu kapatacağız . Yatay bir kaydırma çubuğu elde ettiğimizden emin olmak için overflow-x'i açacağız . Ve hemen hemen hepsi bu:

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

Görebilirsiniz burada son sonucu veya aşağıdaki animasyonda. Tablo, konteynerinizin yüksekliğini belirliyorsa, bunu açıkça ayarlamanıza overflow-ygerek yoktur hidden. Ancak bunun da bir seçenek olduğunu anlayın.

görüntü açıklamasını buraya girin


4
Özledim white-space: nowrap;. Tıkır tıkır çalışıyor!
AndreFeijo

4
Bir resim bin kelimeye bedelse, bir gif milyon değerindedir.
HoldOffHunger

Şampiyon sensin dostum.
Spencer Williams

Ya her sütunda ayrı bir dikey kaydırmaya ihtiyacım olursa ve ana kapta dikey kaydırma yoksa? Bunu white-space: nowrap;ana kapta ve ayarlarda heightve overflow-y: scrolltek tek sütunlarda yapmaya çalışıyorum, ancak çalışmıyor.
Sachin

beyaz boşluk: nowrap; Ben hep buna düşüyorum! teşekkürler harika cevap!
talsibony

68

Seçilen cevabı işe yarayamadım, ancak biraz araştırma yaptıktan sonra , yatay kaydırma div'inin css'de olması gerektiğini buldum white-space: nowrap.

İşte tam çalışma kodu:

<!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
Buradaki "beyaz boşluk: şimdi tuzak" önerisi doğru cevapla harmanlanmış görünüyor. Kabul edilen cevabı iyileştirmek için +1.
HoldOffHunger

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

DÜZENLE:

Benim için çalışıyor:

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

18

Yatay kaydırma için şu iki özelliği aklınızda bulundurun:

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

Çalışan bağlantıya bakın: beni tıklayın

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;
}

5

bunu dene:

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;
}

Beyaz boşluk: şimdi tuzak; özelliği, metni kaydırmanıza izin vermez. Örnek için buraya bakın: https://codepen.io/oezkany/pen/YoVgYK

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.