Есть ли способ добавить горизонтальную полосу прокрутки в таблицу HTML? Мне действительно нужно, чтобы она прокручивалась как по вертикали, так и по горизонтали, в зависимости от того, как растет таблица, но я не могу отобразить ни одну полосу прокрутки.
html
css
html-table
scrollbar
Цундоку
источник
источник
Ответы:
Вы пробовали
overflow
свойство CSS ?overflow: scroll; /* Scrollbar are always visible */ overflow: auto; /* Scrollbar is displayed as it's needed */
ОБНОВЛЕНИЕ
Как отмечают другие пользователи, этого недостаточно для добавления полос прокрутки.
Пожалуйста, смотрите и голосуйте за комментарии и ответы ниже.
источник
display: block
.Сначала сделайте
display: block
из своего столазатем установите
overflow-x:
значениеauto
.table { display: block; overflow-x: auto; white-space: nowrap; }
Красиво и чисто. Никакого лишнего форматирования.
Вот более сложные примеры с прокруткой заголовков таблиц со страницы моего веб-сайта.
источник
white-space: nowrap;
помогает сразу увидеть полосу прокрутки.white-space: nowrap;
проблема не решается (проверено в Firefox). Ширина строк меньше ширины таблицы, когда не хватает содержимого (текста) для расширения строк.Оберните таблицу в DIV, задав следующий стиль:
div.wrapper { width: 500px; height: 500px; overflow: auto; }
источник
overflow:auto
здесь нет необходимости. Знаете ли вы, как добиться этого без установки ширины ... это всегда кажется решением в html - жестко закодируйте некоторую ширину или высоту, но это, похоже, лишает смысла наличие механизма компоновки!Используйте для этого атрибут CSS « переполнение ».
Краткое содержание:
overflow: visible|hidden|scroll|auto|initial|inherit;
например
table { display: block; overflow: scroll; }
источник
Это улучшение ответа Сержа Строобандта и отлично работает. Это решает проблему, когда таблица не заполняет всю ширину страницы, если в ней меньше столбцов.
<style> .table_wrapper{ display: block; overflow-x: auto; white-space: nowrap; } </style> <div class="table_wrapper"> <table> ... </table> </div>
источник
white-space: nowrap;
, Кажется необязательным.У меня был хороший успех с решением, предложенным @Serge Stroobandt, но я столкнулся с проблемой, с которой @Shevy столкнулся с ячейками, которые не заполняли всю ширину таблицы. Я смог исправить это, добавив несколько стилей в файл
tbody
.table { display: block; overflow-x: auto; white-space: nowrap; } table tbody { display: table; width: 100%; }
У меня это сработало в Firefox, Chrome и Safari на Mac.
источник
Я не мог заставить работать ни одно из вышеперечисленных решений. Однако я нашел взлом:
body { background-color: #ccc; } .container { width: 300px; background-color: white; } table { width: 100%; border-collapse: collapse; } td { border: 1px solid black; } /* try removing the "hack" below to see how the table overflows the .body */ .hack1 { display: table; table-layout: fixed; width: 100%; } .hack2 { display: table-cell; overflow-x: auto; width: 100%; }
<div class="container"> <div class="hack1"> <div class="hack2"> <table> <tr> <td>table or other arbitrary content</td> <td>that will cause your page to stretch</td> </tr> <tr> <td>uncontrollably</td> <td>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</td> </tr> </table> </div> </div> </div>
источник
Я столкнулся с той же проблемой. Я обнаружил следующее решение, которое было протестировано только в Chrome v31:
table { table-layout: fixed; } tbody { display: block; overflow: scroll; }
источник
table-layout: fixed
это мило.Я выяснил этот ответ на основе предыдущего решения и его комментария и добавил некоторые собственные корректировки. У меня это работает на адаптивной таблице.
table { display: inline-block; overflow-x: auto; white-space: nowrap; // make fixed table width effected by overflow-x max-width: 100%; // hide all borders that make rows not filled with the table width border: 0; } // add missing borders table td { border: 1px solid; }
источник
«Ширина более 100%» на столе действительно заставила меня работать.
.table-wrap { width: 100%; overflow: auto; } table { table-layout: fixed; width: 200%; }
источник
Вставьте таблицу в div, чтобы таблица занимала всю длину
HTML
<div class="scroll"> <table> </table> </div>
CSS
.scroll{ overflow-x: auto; white-space: nowrap; }
источник
С бутстрапом
<div class="table-responsive"> <table class="table"> ... </table> </div>
источник
//Representation of table <div class="search-table-outter"> <table class="table table-responsive search-table inner"> </table> </div> //Css to make Horizontal Dropdown <style> .search-table{table-layout: auto; margin:40px auto 0px auto; } .search-table, td, th { border-collapse: collapse; } th{padding:20px 7px; font-size:15px; color:#444;} td{padding:5px 10px; height:35px;} .search-table-outter { overflow-x: scroll; } th, td { min-width: 200px; } </style>
источник