Я использую таблицы начальной загрузки с Angular 6 в проекте, и мне удалось создать тело таблицы вертикальной прокрутки с этим кодом:
<table class="table table-striped table-bordered" style="margin-bottom: 0">
<thead> <!-- Column names -->
<tr>
<th scope="col">#</th>
<th scope="col">Col 1</th>
<th scope="col">Col 2</th>
<th scope="col">Col 3</th>
...
<th scope="col">Col N</th>
</tr>
</thead>
<tbody> <!-- Data -->
<tr>
<th scope="row">1</th>
<td>AAAAA</td>
<td>BBBBB</td>
<td>CCCCC</td>
...
<td>DDDDD</td>
</tr>
<tr>
<th scope="row">2</th>
<td>AAAAA</td>
<td>BBBBB</td>
<td>CCCCC</td>
...
<td>DDDDD</td>
</tr>
...
<tr>
<th scope="row">n</th>
<td>AAAAA</td>
<td>BBBBB</td>
<td>CCCCC</td>
...
<td>DDDDD</td>
</tr>
</tbody>
</table>
И css:
tbody {
display:block;
max-height:500px;
overflow-y:auto;
}
thead, tbody tr {
display:table;
width:100%;
table-layout:fixed;
}
thead {
width: calc( 100% - 1em )
}
Но теперь, если есть много столбцов, это выглядит не очень хорошо.
Так что я тоже хотел добавить горизонтальную прокрутку,чтобы я мог прокручивать всю таблицу по горизонтали и только тело таблицы по вертикали.Чтобы сделать горизонтальную прокрутку, я использовал .table-response-вот так:
<div class="table-responsive">
<table class="table table-striped table-bordered" style="margin-bottom: 0">
...
</table>
</div>
Но он работает только без части вертикальной прокрутки в CSS.
Я хочу объединить эти два способа прокрутки таблицы.Я изменил значения ширины в части css со 100% до статических значений px следующим образом:
...
thead, tbody tr {
display:table;
width: 2000px;
table-layout:fixed;
}
thead {
width: calc( 2000px - 1em )
}
И это сработало, но мне нужно установить статическую ширину, и я не знаю, как я могуделать это динамически (в зависимости от количества столбцов).