Cuando el ancho de una tabla excede el ancho del tramo, como en esta página: http://jsfiddle.net/rcHdC/
Verá que el contenido de la tabla está fuera del span
.
¿Cuál sería el mejor método para atender este caso?
Cuando el ancho de una tabla excede el ancho del tramo, como en esta página: http://jsfiddle.net/rcHdC/
Verá que el contenido de la tabla está fuera del span
.
¿Cuál sería el mejor método para atender este caso?
Respuestas:
Bootstrap 3 ahora tiene tablas responsivas listas para usar. ¡Hurra! :)
Puedes consultarlo aquí: https://getbootstrap.com/docs/3.3/css/#tables-responsive
Agregue un <div class="table-responsive">
alrededor de su mesa y debería estar listo para comenzar:
<div class="table-responsive">
<table class="table">
...
</table>
</div>
Para que funcione en todos los diseños, puede hacer esto:
.table-responsive
{
overflow-x: auto;
}
overflow-x: auto
un CSS
archivo personalizado hace el truco para diseños de pantalla más grandes.
border: 1px solid #dddddd;
.table-responsive td, .table-responsive th { white-space:nowrap; }
para asegurarse de que las celdas no se encojan automáticamente y agreguen saltos de línea.
Una opción que está disponible es fooTable. Funciona muy bien en un sitio web receptivo y le permite establecer múltiples puntos de interrupción ... FooTable Link
Hay muchas cosas diferentes que puede hacer cuando se trata de tablas receptivas.
Personalmente, me gusta este enfoque de Chris Coyier:
Puedes encontrar muchas otras alternativas aquí:
Si puede aprovechar Bootstrap y obtener algo rápidamente, simplemente puede usar los nombres de clase ".hidden-phone" y ".hidden-tablet" para ocultar algunas filas, pero este enfoque podría ser el mejor en muchos casos. Más información (consulte "Clases de utilidad receptiva"):
Si está utilizando Bootstrap 3 y Less, puede aplicar las tablas de respuesta a todas las resoluciones actualizando el archivo:
tables.less
o sobrescribiendo esta parte:
@media (max-width: @screen-xs) {
.table-responsive {
width: 100%;
margin-bottom: 15px;
overflow-y: hidden;
overflow-x: scroll;
border: 1px solid @table-border-color;
// Tighten up spacing and give a background color
> .table {
margin-bottom: 0;
background-color: #fff;
// Ensure the content doesn't wrap
> thead,
> tbody,
> tfoot {
> tr {
> th,
> td {
white-space: nowrap;
}
}
}
}
// Special overrides for the bordered tables
> .table-bordered {
border: 0;
// Nuke the appropriate borders so that the parent can handle them
> thead,
> tbody,
> tfoot {
> tr {
> th:first-child,
> td:first-child {
border-left: 0;
}
> th:last-child,
> td:last-child {
border-right: 0;
}
}
> tr:last-child {
> th,
> td {
border-bottom: 0;
}
}
}
}
}
}
Con:
@media (max-width: @screen-lg) {
.table-responsive {
width: 100%;
...
Observe cómo cambié el valor de la primera línea @ screen-XX.
Sé que hacer que todas las tablas respondan puede que no suene tan bien, pero me pareció extremadamente útil tener esto habilitado para LG en tablas grandes (muchas columnas).
Espero que ayude a alguien.