Mam stałą szerokość DIV zawierającą tabelę z wieloma kolumnami i muszę pozwolić użytkownikowi na przewijanie tabeli w poziomie w DIV.
Musi to działać tylko na IE6 i IE7 (wewnętrzna aplikacja klienta).
Następujące działa w IE7:
overflow-x: scroll;
Czy ktoś może pomóc w rozwiązaniu, które działa również w IE6?
Odpowiedzi:
Rozwiązanie jest dość proste. Aby mieć pewność, że nie wpłyniemy na szerokość komórek w tabeli, wyłączymy spacje . Aby mieć pewność, że otrzymamy poziomy pasek przewijania, włączymy overflow-x . I to prawie wszystko:
.container { width: 30em; overflow-x: auto; white-space: nowrap; }
Możesz zobaczyć efekt końcowy tutaj lub na animacji poniżej. Jeśli tabela określa wysokość twojego kontenera, nie musisz jawnie ustawiać
overflow-y
nahidden
. Ale zrozum, że to również opcja.źródło
white-space: nowrap;
. Działa jak marzenie!white-space: nowrap;
na głównym kontenerze i ustawieniachheight
orazoverflow-y: scroll
na poszczególnych kolumnach, ale to nie działa.Nie udało mi się uzyskać wybranej odpowiedzi, ale po kilku badaniach stwierdziłem, że element div z przewijaniem poziomym musi mieć
white-space: nowrap
w css.Oto pełny działający kod:
<!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>
źródło
overflow-x: scroll; overflow-y: hidden;
EDYTOWAĆ:
Mi to pasuje:
<div style='overflow-x:scroll;overflow-y:hidden;width:250px;height:200px'> <div style='width:400px;height:250px'></div> </div>
źródło
W przypadku przewijania w poziomie pamiętaj o tych dwóch właściwościach:
overflow-x:scroll; white-space: nowrap;
Zobacz działający link: kliknij mnie
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; }
źródło
Spróbuj tego:
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; }
Biała przestrzeń: nowrap; właściwość nie pozwala na zawijanie tekstu. Zobacz tutaj przykład: https://codepen.io/oezkany/pen/YoVgYK
źródło