Documentación y ejemplos para el estilo opt-in de tablas (dado su uso
prevalente en plugins de JavaScript) con Bootstrap.
On this page
Descripción general
Debido al uso generalizado de elementos <table> en widgets de terceros
como calendarios y selectores de fecha, las tablas de Bootstrap son opt-in. Añade la clase
base .table a cualquier <table>, luego extiéndela con nuestras clases
modificadoras opcionales o estilos personalizados. Ningún estilo de tabla se hereda en Bootstrap, lo que
significa que cualquier tabla anidada puede estilarse de forma independiente del padre.
Usando el marcado de tabla más básico, así es como se ven las tablas basadas en
.table en Bootstrap.
#
Primero
Último
Handle
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
Larry the Bird
@twitter
<tableclass="table"><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><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>
Variantes
Usa clases contextuales para colorear tablas, filas de tabla o celdas individuales.
Clase
Encabezado
Encabezado
Predeterminado
Celda
Celda
Primary
Celda
Celda
Secondary
Celda
Celda
Success
Celda
Celda
Danger
Celda
Celda
Warning
Celda
Celda
Info
Celda
Celda
Light
Celda
Celda
Dark
Celda
Celda
<!-- 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>
Transmitir significado a tecnologías de
asistencia
Usar color para añadir significado solo proporciona una indicación visual, que no será
transmitida a los usuarios de tecnologías asistivas – como los lectores de pantalla. Asegúrate de que la
información denotada por el color sea evidente desde el contenido mismo (ej. el texto visible), o se incluya
mediante medios alternativos, como texto adicional oculto con la clase .visually-hidden.
Tablas acentuadas
Filas rayadas
Usa .table-striped para añadir rayado de cebra a cualquier fila de tabla
dentro del <tbody>.
#
Primero
Último
Handle
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
Larry the Bird
@twitter
<tableclass="table table-striped"> ...
</table>
Columnas rayadas
Usa .table-striped-columns para añadir rayado de cebra a cualquier columna de
la tabla.
Empezamos estableciendo el fondo de una celda de tabla con la propiedad personalizada
--bs-table-bg. Todas las variantes de tabla luego establecen esa propiedad personalizada para
colorear las celdas de la tabla. De esta manera, no tenemos problemas si se usan colores semitransparentes
como fondos de tabla.
Luego añadimos una sombra interior en las celdas de tabla con
box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); para superponerla sobre cualquier
background-color especificado. Como usamos una dispersión enorme y sin desenfoque, el color
será monocromo. Como --bs-table-accent-bg no está establecido por defecto, no tenemos una
sombra predeterminada.
Cuando se añaden las clases .table-striped,
.table-striped-columns, .table-hover o .table-active, la variable
--bs-table-accent-bg se establece a un color semitransparente para colorear el fondo.
Para cada variante de tabla, generamos un color --bs-table-accent-bg con el
mayor contraste dependiendo de ese color. Por ejemplo, el color de acento para .table-primary
es más oscuro mientras que .table-dark tiene un color de acento más claro.
Los colores de texto y borde se generan de la misma manera, y sus colores se heredan por
defecto.
Añade un borde más grueso y oscuro entre los grupos de la tabla—<thead>,
<tbody> y <tfoot>—con .table-group-divider. Personaliza el
color cambiando el border-top-color (para el cual actualmente no proporcionamos una clase de
utilidad en este momento).
#
Primero
Último
Handle
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
Larry the Bird
@twitter
html
<tableclass="table"><thead><tr><thscope="col">#</th><thscope="col">First</th><thscope="col">Last</th><thscope="col">Handle</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>
Alineación vertical
Las celdas de tabla del <thead> siempre están alineadas verticalmente
hacia abajo. Las celdas de tabla del <tbody> heredan su alineación del
<table> y están alineadas hacia arriba por defecto. Usa las clases de alineación vertical para realinear donde sea necesario.
Encabezado 1
Encabezado 2
Encabezado 3
Encabezado 4
Esta celda hereda vertical-align: middle; de la tabla
Esta celda hereda vertical-align: middle; de la tabla
Esta celda hereda vertical-align: middle; de la tabla
Este es algo de texto de marcador de posición, destinado a ocupar bastante
espacio vertical, para demostrar cómo funciona la alineación vertical en las celdas precedentes.
Esta celda hereda vertical-align: bottom; de la fila de tabla
Esta celda hereda vertical-align: bottom; de la fila de tabla
Esta celda hereda vertical-align: bottom; de la fila de tabla
Este es algo de texto de marcador de posición, destinado a ocupar bastante
espacio vertical, para demostrar cómo funciona la alineación vertical en las celdas precedentes.
Esta celda hereda vertical-align: middle; de la tabla
Esta celda hereda vertical-align: middle; de la tabla
Esta celda está alineada arriba.
Este es algo de texto de marcador de posición, destinado a ocupar bastante
espacio vertical, para demostrar cómo funciona la alineación vertical en las celdas precedentes.
<divclass="table-responsive"><tableclass="table align-middle"><thead><tr> ...
</tr></thead><tbody><tr> ...
</tr><trclass="align-bottom"> ...
</tr><tr><td>...</td><td>...</td><tdclass="align-top">This cell is aligned to the top.</td><td>...</td></tr></tbody></table></div>
Anidamiento
Los estilos de borde, los estilos activos y las variantes de tabla no son heredados por las
tablas anidadas.
Para evitar que cualquier estilo se filtre a las tablas anidadas, usamos el
selector combinador hijo (>) en nuestro CSS. Como necesitamos seleccionar todos los
td y th en el thead, tbody, y tfoot, nuestro
selector sería bastante largo sin él. Por ello, usamos el selector
.table > :not(caption) > * > *, que parece algo extraño, para seleccionar todos los
td y th del .table, pero ninguno de las posibles tablas anidadas.
Ten en cuenta que si añades <tr> como hijos directos de una tabla, esos
<tr> se envolverán en un <tbody> por defecto, haciendo así que nuestros
selectores funcionen como se espera.
Anatomía
Encabezado de tabla
De forma similar a las tablas y las tablas oscuras, usa las clases modificadoras
.table-light o .table-dark para que los <thead> aparezcan en gris
claro u oscuro.
Un <caption> funciona como un encabezado para una tabla. Ayuda a los
usuarios con lectores de pantalla a encontrar una tabla y entender de qué trata y decidir si quieren leerla.
Lista de usuarios
#
Primero
Último
Handle
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
Larry the Bird
@twitter
<tableclass="table table-sm"><caption>List of users</caption><thead> ...
</thead><tbody> ...
</tbody></table>
También puedes poner el <caption> en la parte superior de la tabla con
.caption-top.
Lista de usuarios
#
Primero
Último
Handle
1
Mark
Otto
@mdo
2
Jacob
Thornton
@fat
3
Larry
the Bird
@twitter
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>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>
Tablas responsive
Las tablas responsivas permiten desplazar las tablas horizontalmente con facilidad. Haz
cualquier tabla responsiva en todos los viewports envolviendo un .table con
.table-responsive. O elige un breakpoint máximo hasta el cual tener una tabla responsiva usando
.table-responsive{-sm|-md|-lg|-xl|-xxl}.
Recorte/truncamiento vertical
Las tablas responsivas hacen uso de overflow-y: hidden, lo cual recorta
cualquier contenido que sobresalga de los bordes inferior o superior de la tabla. En particular, esto puede
recortar menús desplegables y otros widgets de terceros.
Siempre responsive
En todos los breakpoints, usa .table-responsive para tablas con desplazamiento
horizontal.
Usa .table-responsive{-sm|-md|-lg|-xl|-xxl} según sea necesario para crear
tablas responsivas hasta un breakpoint particular. A partir de ese breakpoint hacia arriba, la tabla se
comportará normalmente y no se desplazará horizontalmente.
Estas tablas pueden parecer rotas hasta que sus estilos responsivos se apliquen en
anchos de viewport específicos.
Las variables de factor ($table-striped-bg-factor,
$table-active-bg-factor & $table-hover-bg-factor) se usan para determinar el
contraste en las variantes de tabla.
Aparte de las variantes de tabla clara y oscura, los colores del tema se aclaran con la
variable $table-bg-scale.
Traducción mantenida por Esdocu. Visita esdocu.com
para ver más documentaciones traducidas.