Добавить горизонтальную полосу прокрутки в таблицу html
есть ли способ добавить горизонтальную полосу прокрутки в таблицу HTML? Мне действительно нужно, чтобы он прокручивался как по вертикали, так и по горизонтали в зависимости от того, как растет таблица, но я не могу получить ни одну полосу прокрутки.
9 ответов:
вы пробовали CSS
overflowсобственность?overflow: scroll; /* Scrollbar are always visible */ overflow: auto; /* Scrollbar is displayed as it's needed */обновление
Как указывают другие пользователи,этого мало чтобы добавить полосы прокрутки.
Поэтому, пожалуйста, смотрите и повышайте комментарии и ответы ниже.
во-первых, сделать
display: blockтаблицыи
overflow-x:доauto.table { display: block; overflow-x: auto; white-space: nowrap; }хороший и чистый. Без лишнего форматирования.
здесь более сложные примеры с заголовками таблицы прокрутки страница на моем сайте.
оберните таблицу в DIV, установите следующий стиль:
div.wrapper { width: 500px; height: 500px; overflow: auto; }
используйте атрибут CSS "переполнения" для этого.
краткий итог:
overflow: visible|hidden|scroll|auto|initial|inherit;например
table { display: block; overflow: scroll; }
я столкнулся с той же проблемой. Я обнаружил следующее решение, которое было протестировано только в Chrome v31:
table { table-layout: fixed; } tbody { display: block; overflow: scroll; }
Я не мог заставить ни одно из вышеперечисленных решений работать. Однако, я нашел Хак:
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>
Я понял, этот ответ, основанный на предыдущее решение и комментарий и добавил некоторые корректировки самостоятельно. Это работает для меня на отзывчивой таблице.
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; }
это улучшение Серега Stroobandt это ответ и прекрасно работает. Это решает проблему таблицы, не заполняющей всю ширину страницы, если она имеет меньше столбцов.
<style> .table_wrapper{ display: block; overflow-x: auto; white-space: nowrap; } </style> <div class="table_wrapper"> <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>
Comments