Документация и примеры для выбора стиля таблиц (учитывая их преобладающее использование в плагинах JavaScript) с помощью Bootstrap.
На этой странице
Обзор
Из-за повсеместного использования элементов <table> в сторонних виджетах, таких как календари и средства выбора даты, таблицы Bootstrap имеют подписку. Добавьте базовый класс .table к любому <table>, затем расширьте с помощью наших дополнительных классов модификаторов или пользовательских стилей. Все стили таблиц не наследуются в Bootstrap, то есть любые вложенные таблицы могут быть стилизованы независимо от родительских.
Используя самую простую разметку таблиц, вот как таблицы на основе .table выглядят в Bootstrap.
#
Имя
Фамилия
Обращение
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
Larry the Bird
@twitter
<tableclass="table"><thead><tr><thscope="col">#</th><thscope="col">Имя</th><thscope="col">Фамилия</th><thscope="col">Обращение</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>
Варианты
Используйте контекстные классы для раскрашивания таблиц, строк таблицы или отдельных ячеек.
Внимание! Из-за более сложного CSS, используемого для создания вариантов нашей таблицы, они, скорее всего, не увидят адаптивный стиль цветового режима до версии 6.
Класс
Заголовок
Заголовок
По умолчанию
Ячейка
Ячейка
Primary
Ячейка
Ячейка
Secondary
Ячейка
Ячейка
Success
Ячейка
Ячейка
Danger
Ячейка
Ячейка
Warning
Ячейка
Ячейка
Info
Ячейка
Ячейка
Light
Ячейка
Ячейка
Dark
Ячейка
Ячейка
<!-- На таблицах --><tableclass="table-primary">...</table><tableclass="table-secondary">...</table><tableclass="table-success">...</table><tableclass="table-danger">...</table><tableclass="table-warning">...</table><tableclass="table-info">...</table><tableclass="table-light">...</table><tableclass="table-dark">...</table><!-- На строках --><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><!-- На ячейках (`td` или `th`) --><tr><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>
Совет по специальным возможностям. Использование цвета для добавления смысла обеспечивает только визуальную индикацию, которая не будет передана пользователям вспомогательных технологий, таких как программы чтения с экрана. Убедитесь, что смысл очевиден из самого содержимого (например, видимый текст с достаточным цветовым контрастом) или включается с помощью альтернативных средств, таких как дополнительный текст, скрытый с помощью класса .visually-hidden.
Акцентированные таблицы
Полосатые строки
Используйте .table-striped, чтобы добавить полосатую зебру к любой строке таблицы внутри <tbody>.
#
Имя
Фамилия
Обращение
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
Larry the Bird
@twitter
<tableclass="table table-striped"> ...
</table>
Полосатые колонки
Используйте .table-striped-columns, чтобы добавить полосу зебры к любому столбцу таблицы.
Мы начинаем с установки фона ячейки таблицы с помощью настраиваемого свойства --bs-table-bg. Затем все варианты таблицы устанавливают это настраиваемое свойство для раскрашивания ячеек таблицы. Таким образом, у нас не будет проблем, если полупрозрачные цвета используются в качестве фона стола.
Затем мы добавляем тень блока вставки в ячейки таблицы с помощью box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); для слоя поверх любого указанного background-color. Он использует пользовательский каскад для переопределения box-shadow, независимо от специфики CSS. Поскольку мы используем огромный разброс и не размываем, цвет будет монотонным. Так как --bs-table-accent-bg по умолчанию имеет значение transparent, у нас нет тени блока по умолчанию.
Когда добавляются классы .table-striped, .table-striped-columns, .table-hover или .table-active, либо --bs-table-bg-type или --bs-table-bg-state (по умолчанию установлено значение initial) устанавливаются в полупрозрачный цвет (--bs-table-striped-bg, --bs-table-active-bg или --bs-table-hover-bg), чтобы раскрасить фон и переопределить значение по умолчанию --bs-table-accent-bg.
Для каждого варианта таблицы мы генерируем цвет --bs-table-accent-bg с самым высоким контрастом в зависимости от этого цвета. Например, основной цвет для .table-primary темнее, а для .table-dark светлее.
Цвета текста и границ генерируются одинаково, а их цвета наследуются по умолчанию.
Добавьте более толстую и темную границу между группами таблиц — <thead>, <tbody> и <tfoot> — с помощью .table-group-divider. Настройте цвет, изменив border-top-color (для которого в настоящее время мы не предоставляем служебный класс).
#
Первый
Последний
Обработчик
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
Larry the Bird
@twitter
html
<tableclass="table"><thead><tr><thscope="col">#</th><thscope="col">Первый</th><thscope="col">Последний</th><thscope="col">Обработчик</th></tr></thead><tbodyclass="table-group-divider"><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>
Вертикальное выравнивание
Ячейки таблицы <thead> всегда выравниваются по вертикали по низу. Ячейки таблицы в <tbody> наследуют свое выравнивание от <table> и по умолчанию выравниваются по верхнему краю. Используйте классы вертикальное выравнивание для повторного выравнивания там, где это необходимо.
Заголовок 1
Заголовок 2
Заголовок 3
Заголовок 4
Эта ячейка наследует vertical-align: middle; из таблицы
Эта ячейка наследует vertical-align: middle; из таблицы
Эта ячейка наследует vertical-align: middle; из таблицы
Это текст-заполнитель, предназначенный для того, чтобы занять довольно много места по вертикали, чтобы продемонстрировать, как работает вертикальное выравнивание в предыдущих ячейках.
Эта ячейка наследует vertical-align: bottom; из строки таблицы
Эта ячейка наследует vertical-align: bottom; из строки таблицы
Эта ячейка наследует vertical-align: bottom; из строки таблицы
Это текст-заполнитель, предназначенный для того, чтобы занять довольно много места по вертикали, чтобы продемонстрировать, как работает вертикальное выравнивание в предыдущих ячейках.
Эта ячейка наследует vertical-align: middle; из таблицы
Эта ячейка наследует vertical-align: middle; из таблицы
Эта ячейка выровнена по верхнему краю.
Это текст-заполнитель, предназначенный для того, чтобы занять довольно много места по вертикали, чтобы продемонстрировать, как работает вертикальное выравнивание в предыдущих ячейках.
Чтобы предотвратить попадание любых стилей во вложенные таблицы, мы используем селектор дочернего комбинатора (>) в нашем CSS. Поскольку нам нужно настроить таргетинг на все td и th в thead, tbody и tfoot, наш селектор без этого выглядел бы довольно долго. Таким образом, мы используем довольно странно выглядящий селектор .table > :not(caption) > * > * для нацеливания на все td и th в .table, но ни на одну из потенциально вложенных таблиц.
Обратите внимание, что если Вы добавите <tr> в качестве прямых дочерних элементов таблицы, эти <tr> по умолчанию будут заключены в <tbody>, что заставит наши селекторы работать должным образом.
Анатомия
Верхний колонтитул таблицы
Подобно таблицам и темным таблицам, используйте классы-модификаторы .table-light или .table-dark чтобы <thead> казались светлыми или темно-серыми.
<caption> действует как заголовок таблицы. Это помогает пользователям программ чтения с экрана найти таблицу, понять, о чем она, и решить, хотят ли они ее прочитать.
Адаптивные таблицы позволяют с легкостью прокручивать таблицы по горизонтали. Сделайте любую таблицу адаптивной во всех окнах просмотра, заключив в .table с .table-responsive. Или выберите максимальную контрольную точку, до которой будет реагировать таблица, используя .table-responsive{-sm|-md|-lg|-xl|-xxl}.
Вертикальная обрезка/усечение
Адаптивные таблицы используют overflow-y: hidden, который отсекает любое содержимое, выходящее за нижний или верхний края таблицы. В частности, это может вырезать раскрывающиеся меню и другие сторонние виджеты.
Всегда адаптивный
Через каждую контрольную точку используйте .table-responsive для горизонтальной прокрутки таблиц.
Используйте .table-responsive{-sm|-md|-lg|-xl|-xxl} по мере необходимости для создания адаптивных таблиц до определенной контрольной точки. С этой контрольной точки и выше таблица будет вести себя нормально и не будет прокручиваться по горизонтали.
Эти таблицы могут отображаться неработающими до тех пор, пока их адаптивные стили не будут применены к определенной ширине области просмотра.
Факторные переменные ($table-striped-bg-factor, $table-active-bg-factor и $table-hover-bg-factor) используются для определения контраста в вариантах таблиц.
Кроме светлого и темного вариантов таблицы, цвета темы осветляются переменной $table-bg-scale.