Элемент CSS div - как показывать только горизонтальные полосы прокрутки?
У меня есть контейнер div и определил его стиль следующим образом:
div#tbl-container
{
width: 600px;
overflow: auto;
scrollbar-base-color:#ffeaff
}
Это дает мне как горизонтальные, так и вертикальные полосы прокрутки автоматически, когда я заполняю таблицу, которая содержится в этом div.
Я просто хочу, чтобы только горизонтальные полосы прокрутки отображались автоматически. Я буду изменять высоту таблицы программно.
Как это сделать?
Ответы
Ответ 1
Вы не должны получать как горизонтальные, так и вертикальные полосы прокрутки, если вы не сделаете контент достаточно большим, чтобы потребовать их.
Однако вы обычно делаете в IE из-за ошибки. Проверьте другие браузеры (Firefox и т.д.), Чтобы узнать, действительно ли это работает только IE.
IE6-7 (среди других браузеров) поддерживает предлагаемое расширение CSS3 для установки независимых полос прокрутки, которые можно использовать для подавления вертикальной полосы прокрутки:
overflow: auto;
overflow-y: hidden;
Вам также может потребоваться добавить для IE8:
-ms-overflow-y: hidden;
поскольку Microsoft угрожает перенести все свойства pre-CR-standard в свою собственную коробку -ms в режиме стандартов IE8. (Это имело бы смысл, если бы они всегда делали это именно так, но теперь это для всех неудобство.)
С другой стороны, вполне возможно, что IE8 все равно исправит ошибку.
Ответ 2
Мне также пришлось добавить стиль white-space: nowrap;
в стиль, иначе элементы будут обертываться в область, в которой мы удаляем возможность прокрутки.
Ответ 3
Чтобы показать оба:
<div style="height:250px; width:550px; overflow-x:scroll ; overflow-y: scroll; padding-bottom:10px;"> </div>
Скрыть ось X:
<div style="height:250px; width:550px; overflow-x:hidden; overflow-y: scroll; padding-bottom:10px;"> </div>
Скрыть ось Y:
<div style="height:250px; width:550px; overflow-x:scroll ; overflow-y: hidden; padding-bottom:10px;"> </div>
Ответ 4
Это решение без спецификации высоты и ширины для отца div, поэтому оно будет отзывчивым для изменения размера окна и наиболее полезной причиной появления горизонтальных полос прокрутки, если это необходимо.
.container{
padding:20px;
border:dotted 1px;
white-space:nowrap;
overflow-x:auto;
}
.box{
width:100px;
height:180px;
background-color: red;
margin:10px;
display:inline-block
}
Взгляните на DEMO
Ответ 5
вы также можете сделать его overflow: auto
и дать максимальную фиксированную высоту и ширину таким образом, когда текст или что-то там там, переполнения, он покажет только требуемую полосу прокрутки
Ответ 6
Я использую свойства CSS:
1) "overflow-x: auto
";
2) "overflow-y: hidden
";
3) "white-space: nowrap
";
Не забудьте установить ширину, как для контейнера, так и для внутренних компонентов DIVS. Свойство "white-space: nowrap" позволяет внутреннему DIVS не отбрасываться на другую строку.
Учитывая следующий HTML:
<div class="container">
<div class="inner-1"></div>
<div class="inner-2"></div>
<div class="inner-3"></div>
</div>
Я использую следующий CSS только для горизонтальной прокрутки:
.container {
height: 80px;
width: 600px;
overflow-x: auto;
overflow-y: hidden;
white-space: nowrap;
}
.inner-1,.inner-2,.inner-3 {
height: 60px;
max-width: 250px;
display: inline-block; /* this should fix it */
}
Fiddle: https://jsfiddle.net/qrjh93x8/ (не работает с указанным выше кодом)
Ответ 7
Используйте следующие
<div style="max-width:980px; overflow-x: scroll; white-space: nowrap;">
<table border="1" style="cellpadding:0; cellspacing:0; border:0; width=:100%;" >
Ответ 8
CSS3 имеет свойство overflow-x
, но я не ожидал бы большой поддержки для этого. В CSS2 все, что вы можете сделать, это установить общую политику scroll
и работать со своими widths
и heights
, чтобы не испортить их.
Ответ 9
.box-author-txt {width:596px; float:left; padding:5px 0px 10px 10px; border:1px #dddddd solid; -moz-border-radius: 0 0 5px 5px; -webkit-border-radius: 0 0 5px 5px; -o-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; overflow-x: scroll; white-space: nowrap; overflow-y: hidden;}
.box-author-txt ul{ vertical-align:top; height:auto; display: inline-block; white-space: nowrap; margin:0 9px 0 0; padding:0px;}
.box-author-txt ul li{ list-style-type:none; width:140px; }
Ответ 10
Мы должны установить overflow: auto
и скрыть полосу прокрутки, которую мы не используем для работы с неподдерживаемым браузером CSS3.
Посмотрите на Переполнение CSS; XME.im