Документация и примеры дополнительной стилизации таблиц (учитывая их широкое использование в JavaScript плагинах) с Bootstrap.
На этой странице
Обзор
Из-за широкого использования элементов <table> в сторонних виджетах, таких как календари и средства выбора дат, таблицы Bootstrap являются дополнительными. Добавьте базовый класс .table к любой <table>, затем расширьте нашими дополнительными классами-модификаторами или пользовательскими стилями. Все стили таблиц не наследуются в Bootstrap, что означает, что любые вложенные таблицы могут быть стилизованы независимо от родителя.
Используя самую основную разметку таблицы, вот как выглядят таблицы на основе .table в Bootstrap.
Используйте контекстные классы для окрашивания таблиц, строк таблиц или отдельных ячеек.
Внимание! Из-за более сложного CSS, используемого для генерации наших вариантов таблиц, они, скорее всего, не увидят адаптивную стилизацию цветового режима до v6.
Class
Heading
Heading
Default
Cell
Cell
Primary
Cell
Cell
Secondary
Cell
Cell
Success
Cell
Cell
Danger
Cell
Cell
Warning
Cell
Cell
Info
Cell
Cell
Light
Cell
Cell
Dark
Cell
Cell
<!-- On tables --><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><!-- On rows --><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-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
John
Doe
@social
<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 (который в настоящее время мы не предоставляем утилиту класса для этого).
Ячейки таблицы <thead> всегда вертикально выравниваются вниз. Ячейки таблицы в <tbody> наследуют свое выравнивание из <table> и по умолчанию выравниваются вверх. Используйте классы вертикального выравнивания для повторного выравнивания, где это необходимо.
Heading 1
Heading 2
Heading 3
Heading 4
This cell inherits vertical-align: middle; from the table
This cell inherits vertical-align: middle; from the table
This cell inherits vertical-align: middle; from the table
This here is some placeholder text, intended to take up quite a bit of vertical space, to demonstrate how the vertical alignment works in the preceding cells.
This cell inherits vertical-align: bottom; from the table row
This cell inherits vertical-align: bottom; from the table row
This cell inherits vertical-align: bottom; from the table row
This here is some placeholder text, intended to take up quite a bit of vertical space, to demonstrate how the vertical alignment works in the preceding cells.
This cell inherits vertical-align: middle; from the table
This cell inherits vertical-align: middle; from the table
This cell is aligned to the top.
This here is some placeholder text, intended to take up quite a bit of vertical space, to demonstrate how the vertical alignment works in the preceding cells.
Чтобы предотвратить любые стили от утечки в вложенные таблицы, мы используем селектор комбинатора дочерних элементов (>) в нашем CSS. Поскольку нам нужно целенаправленно выбрать все td и th в thead, tbody и tfoot, наш селектор выглядел бы довольно длинно без него. Таким образом, мы используем довольно странный селектор .table > :not(caption) > * > * для выбора всех td и th из .table, но ни одного из потенциальных вложенных таблиц.
Обратите внимание, что если вы добавите <tr> как прямые дочерние элементы таблицы, эти <tr> будут обернуты в <tbody> по умолчанию, таким образом, чтобы наши селекторы работали так, как задумано.
Анатомия
Заголовок таблицы
Аналогично таблицам и темным таблицам, используйте классы-модификаторы .table-light или .table-dark, чтобы сделать <thead> светло- или темно-серыми.
<caption> функционирует как заголовок для таблицы. Он помогает пользователям программ чтения с экрана найти таблицу и понять, о чем она, и решить, хотят ли они ее прочитать.
List of users
#
Имя
Фамилия
Обращение
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
John
Doe
@social
<tableclass="table table-sm"><caption>List of users</caption><thead>
...
</thead><tbody>
...
</tbody></table>
Вы также можете поместить <caption> в верхнюю часть таблицы с помощью .caption-top.
List of users
#
First
Last
Handle
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
John
Doe
@social
html
<tableclass="table caption-top"><caption>List of users</caption><thead><tr><thscope="col">#</th><thscope="col">First</th><thscope="col">Last</th><thscope="col">Handle</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>John</td><td>Doe</td><td>@social</td></tr></tbody></table>
Отзывчивые таблицы
Отзывчивые таблицы позволяют легко прокручивать таблицы по горизонтали. Сделайте любую таблицу отзывчивой во всех видовых экранах, обернув .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.