Таблицы

Документация и примеры стилизации таблиц с элементами ввода (с учетом их широкого применения в плагинах JavaScript).

Примеры

Из-за широкого распространения таблиц в сторонних виджетах, таких как календари и «напоминалки», мы сделали так, что таблицы подключаются по согласию пользователя. Просто добавьте базовый класс .table в любой <table>, затем расширьте стилизацию за счет наших обычных классов, либо классов-модификаторов.

Вот так таблицы, основанные на классе .table, выглядят в базовой разметке таблиц в Bootstrap. Все стили таблиц в BS4 наследуются, что означает, что вложенные таблицы будут стилизованы как родительские.

#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
<tableclass="table"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>

Вы можете инвертировать цвета со светлых на темные классом .table-dark.

#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
<tableclass="table table-dark"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>

Опции заголовка таблицы

По тому же принципу осветляйте или делайте серым заголовок таблицы <thead> с помощью классов .thead-light и .thead-dark.

#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
<tableclass="table"><theadclass="thead-dark"><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table><tableclass="table"><theadclass="thead-light"><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>

Разделенные «полосами» ряды

Добавьте класс .table-striped к <tbody> для разделения «полосками зебры» рядов таблицы.

#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
<tableclass="table table-striped"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>
#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
<tableclass="table table-striped table-dark"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>

Таблица с границами

Добавьте класс .table-bordered в <table> для создания границ ячеек и таблицы со всех сторон.

#ИмяФамилияUsername
1MarkOtto@mdo
2MarkOtto@TwBootstrap
3JacobThornton@fat
4Larry the Bird@twitter
<tableclass="table table-bordered"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Mark</td><td>Otto</td><td>@TwBootstrap</td></tr><tr><thscope="row">3</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">4</th><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>
#ИмяФамилияUsername
1MarkOtto@mdo
2MarkOtto@TwBootstrap
3JacobThornton@fat
4Larry the Bird@twitter
<tableclass="table table-bordered table-dark"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Mark</td><td>Otto</td><td>@TwBootstrap</td></tr><tr><thscope="row">3</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">4</th><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>

Ряды с :hover

Добавьте класс .table-hover в <tbody> для активации :hover у рядов таблицы.

#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
<tableclass="table table-hover"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>
#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
<tableclass="table table-hover table-dark"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>

Маленькие таблицы

Добавьте класс .table-sm чтобы сделать таблицы компактнее урезанием паддинга ячкейки на 50%.

#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
<tableclass="table table-sm"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>
#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
<tableclass="table table-sm table-dark"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>

Контекстуальные классы

Используйте их для раскраски рядов или отдельных ячеек таблицы.

TypeЗаголовок колонкиЗаголовок колонки
Активный (Active)ЯчейкаЯчейка
По умолчанию (Default)ЯчейкаЯчейка
Главный (Primary)ЯчейкаЯчейка
Второстепенный (Secondary)ЯчейкаЯчейка
Успех (Success)ЯчейкаЯчейка
Опасность (Danger)ЯчейкаЯчейка
Предупреждение (Warning)ЯчейкаЯчейка
Предупреждение (Info)ЯчейкаЯчейка
Светлый (Light)ЯчейкаЯчейка
Темный (Dark)ЯчейкаЯчейка
<!-- On rows --><trclass="table-active">...</tr><trclass="table-primary">...</tr><trclass="table-secondary">...</tr><trclass="table-success">...</tr><trclass="table-danger">...</tr><trclass="table-warning">...</tr><trclass="table-info">...</tr><trclass="table-light">...</tr><trclass="table-dark">...</tr><!-- On cells (`td` or `th`) --><tr><tdclass="table-active">...</td><tdclass="table-primary">...</td><tdclass="table-secondary">...</td><tdclass="table-success">...</td><tdclass="table-danger">...</td><tdclass="table-warning">...</td><tdclass="table-info">...</td><tdclass="table-light">...</td><tdclass="table-dark">...</td></tr>

Варианты бэкграудна обычных таблиц недоступны с темной таблицей, но мы можете использовать текстовые или бэкграундные утилиты для достижения подобных стилей.

#Заголовок колонкиЗаголовок колонки
1ЯчейкаЯчейка
2ЯчейкаЯчейка
3ЯчейкаЯчейка
4ЯчейкаЯчейка
5ЯчейкаЯчейка
6ЯчейкаЯчейка
7ЯчейкаЯчейка
8ЯчейкаЯчейка
9ЯчейкаЯчейка
<!-- On rows --><trclass="bg-primary">...</tr><trclass="bg-success">...</tr><trclass="bg-warning">...</tr><trclass="bg-danger">...</tr><trclass="bg-info">...</tr><!-- On cells (`td` or `th`) --><tr><tdclass="bg-primary">...</td><tdclass="bg-success">...</td><tdclass="bg-warning">...</td><tdclass="bg-danger">...</td><tdclass="bg-info">...</td></tr>
Добавление информативности для технологии для инвалидов

Использование цвета как дополнительного инструмента информативности доступно только в визуальной сфере, что ограничивает пользователей ассистивных технологий, например, программ для чтения текста с экрана. Удостоверьтесь, что информация, обозначенная цветом, также доступна из самого контента (т.е. в тексте) или содержится в альтернативных средствах – таких как дополнительный скрытый в классе .sr-only текст.

Создавайте гибкие таблицы, обертывая любой .table с .table-responsive{-sm|-md|-lg|-xl}, заставляя таблицу прокручиваться горизонтально в каждой контрольной точке max-width получат ширину 575.99px, 767.99px, 991.99px и 1119.99 px, соответственно.

Обратите внимание, что поскольку браузеры в настоящее время не поддерживают запросы диапазона, мы используем ограничения минимальных min- и максимальных max- префиксов и видовых экранов с дробной шириной (что может произойти при определенных условиях на устройствах с высоким разрешением на дюйм, например), используя значения с более высоким точность для этих сравнений.

Надписи

Тэг <caption> - это нечто похожее на заголовок для таблицы. Он помогает пользователям программ для чтения с экрана обнаружить таблицу, оценить ее содержимое и ее ценность для чтения.

Список пользователей
#ИмяФамилияUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
<tableclass="table"><caption>Список пользователей</caption><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Username</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>

«Отзывчивые» таблицы

«Отзывчивые» таблицы позволяют таблицам прокручиваться горизонтально. Сделайте любую таблицу таковой для всех экранов и девайсов, добавив класс .table-responsive в класс .table. Или укажите максимальный брейкпойнт, на котором появится данное свойство таблицы, добавив класс .table-responsive{-sm|-md|-lg|-xl}.

Вертикальное обрезание/сокращение

«Отзывчивые» таблицы используют overflow-y: hidden, что «обрезает» любой контент, который существует ниже конца верхних краев таблицы. В частности, это может «срезать» выпадающие меню и другие сторонние виджеты.

Всегда «отзывчиво»

Через каждую контрольную точку используйте .table-responsive для горизонтально прокручиваемых таблиц.

#Заголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицы
1ЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
2ЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
3ЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
<divclass="table-responsive"><tableclass="table"> ... </table></div>

Специфика брейкпойнтов

Используйте класс .table-responsive{-sm|-md|-lg|-xl} когда необходимо создать отзывчивые до необходимого брейкпойнта таблицы. От него и выше таблицы будут вести себя как обычные таблицы и не будут прокручиваться горизонтально.

#Заголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицы
1ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
2ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
3ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
#Заголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицы
1ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
2ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
3ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
#Заголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицы
1ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
2ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
3ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
#Заголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицыЗаголовок таблицы
1ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
2ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
3ЯчейкаЯчейкаЯчейкаЯчейкаЯчейка
<divclass="table-responsive-sm"><tableclass="table"> ... </table></div><divclass="table-responsive-md"><tableclass="table"> ... </table></div><divclass="table-responsive-lg"><tableclass="table"> ... </table></div><divclass="table-responsive-xl"><tableclass="table"> ... </table></div>