Таблица
Из-за широкого использования таблиц в сторонних виджетах, таких как календари и сборщики дат, мы разработали наши таблицы для выбора. Просто добавьте базовый класс .table
в любой <table>
с помощью пользовательских стилей или наших различных включенных классов модификаторов.
Пример
Вот как выглядят таблицы .table
в Bootstrap, где используется основная табличная разметка. Стили таблиц наследуются в Bootstrap 4, поэтому вложенные таблицы будут создаваться так же, как и родительский.
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри |
Бёрд |
@twitter |
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Ларри</td>
<td>Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Также можно инвертировать цвета с легким текстом на темном фоне с помощью .table-inverse
.
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри |
Бёрд |
@twitter |
<table class="table table-inverse">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Ларри</td>
<td>Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Главные параметры таблицы
Используйте один из двух классов-модификаторов, чтобы сделать <thead>
s светлым или темно-серым.
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри |
Бёрд |
@twitter |
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри |
Бёрд |
@twitter |
<table class="table">
<thead class="thead-inverse">
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Ларри</td>
<td>Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
<table class="table">
<thead class="thead-default">
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Ларри</td>
<td>Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Полосатые строки
Используйте .table-striped
, для того чтобы добавить чередование полосы в любую строку таблицы внутри <tbody>
.
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри |
Бёрд |
@twitter |
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Ларри</td>
<td>Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри |
Бёрд |
@twitter |
<table class="table table-striped table-inverse">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Ларри</td>
<td>Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Таблица с границами
Добавьте .table-bordered
границы для каждой стороны таблицы и ячеек.
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Марк |
Отто |
@TwBootstrap |
3 |
Джейкоб |
Тронтон |
@fat |
4 |
Ларри Бёрд |
@twitter |
<table class="table table-bordered">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Марк</td>
<td>Отто</td>
<td>@TwBootstrap</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">4</th>
<td colspan="2">Ларри Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Марк |
Отто |
@TwBootstrap |
3 |
Джейкоб |
Тронтон |
@fat |
4 |
Ларри Бёрд |
@twitter |
<table class="table table-bordered table-inverse">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Марк</td>
<td>Отто</td>
<td>@TwBootstrap</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">4</th>
<td colspan="2">Ларри Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Строки с наведением
Добавьте .table-hover
, чтобы включить состояние выделения строки таблицы<tbody>
.
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри Бёрд |
@twitter |
<table class="table table-hover">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Ларри Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри Бёрд |
@twitter |
<table class="table table-hover table-inverse">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Ларри Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Компактные таблицы
Добавьте .table-sm
, чтобы сделать таблицы более компактными путем уменьшения размера ячеек наполовину.
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри Бёрд |
@twitter |
<table class="table table-sm">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Ларри Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
# |
Имя |
Фамилия |
Логин |
1 |
Марк |
Отто |
@mdo |
2 |
Джейкоб |
Тронтон |
@fat |
3 |
Ларри Бёрд |
@twitter |
<table class="table table-sm table-inverse">
<thead>
<tr>
<th>#</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Логин</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Марк</td>
<td>Отто</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Джейкоб</td>
<td>Тронтон</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Ларри Бёрд</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Контекстные классы
Используйте контекстные классы, для того чтобы подобрать подходящий цвет ячеек таблицы.
Класс |
Описание |
.table-active
|
Применяет цвет после наведения к определенной строке или ячейке |
.table-success
|
Указывает на успешное или положительное действие |
.table-info
|
Указывает на нейтральное информативное изменение или действие |
.table-warning
|
Предупреждает, что требуется особое внимание |
.table-danger
|
Указывает на опасное или потенциально негативное действие |
# |
Заголовок столбца |
Заголовок столбца |
Заголовок столбца |
1 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
2 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
3 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
4 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
5 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
6 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
7 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
8 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
9 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
<!-- В строках -->
<tr class="table-active">...</tr>
<tr class="table-success">...</tr>
<tr class="table-warning">...</tr>
<tr class="table-danger">...</tr>
<tr class="table-info">...</tr>
<!-- В ячейка (`td` или `th`) -->
<tr>
<td class="table-active">...</td>
<td class="table-success">...</td>
<td class="table-warning">...</td>
<td class="table-danger">...</td>
<td class="table-info">...</td>
</tr>
Стандартные варианты фона таблиц недоступны для инверсионных таблиц, однако вы можете использовать текстовые или фоновые утилиты для достижения аналогичных стилей.
# |
Заголовок столбца |
Заголовок столбца |
Заголовок столбца |
1 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
2 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
3 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
4 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
5 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
6 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
7 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
8 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
9 |
Содержание столбца |
Содержание столбца |
Содержание столбца |
<!-- В строках -->
<tr class="bg-primary">...</tr>
<tr class="bg-success">...</tr>
<tr class="bg-warning">...</tr>
<tr class="bg-danger">...</tr>
<tr class="bg-info">...</tr>
<!-- В ячейках (`td` или `th`) -->
<tr>
<td class="bg-primary">...</td>
<td class="bg-success">...</td>
<td class="bg-warning">...</td>
<td class="bg-danger">...</td>
<td class="bg-info">...</td>
</tr>
Передача смысла вспомогательным технологиям
Использование цвета для добавления смысла обеспечивает только визуальную индикацию, которая не будет передаваться пользователям вспомогательных технологий, таких как скрин-ридеры (программы чтения с экрана). Убедитесь, что информация, обозначенная цветом, либо очевидна из самого содержимого (например, видимого текста), либо включена с помощью альтернативных средств, например дополнительного текста, скрытого классом .sr-only
.
Адаптивные таблицы
Создавайте адаптивные таблицы, добавляя .table-responsive
к любой .table
для того чтобы появилось возможность скроллить по горизонтали на небольших устройствах (до 768px). Вы не увидите разницы при просмотре таблицы на устройствах больше, чем 768px.
Вертикальное отсечение
В адаптивных таблицах используется overflow-y: hidden
, который отсекает любой контент, который выходит за нижние или верхние края таблицы. В частности, могут отсекаться выпадающие меню и другие сторонние виджеты.
# |
Заголовок таблицы |
Заголовок таблицы |
Заголовок таблицы |
Заголовок таблицы |
Заголовок таблицы |
Заголовок таблицы |
1 |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
2 |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
3 |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
# |
Заголовок таблицы |
Заголовок таблицы |
Заголовок таблицы |
Заголовок таблицы |
Заголовок таблицы |
Заголовок таблицы |
1 |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
2 |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
3 |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
Ячейка таблицы |
<table class="table table-responsive">
...
</table>