Wenn die Breite einer Tabelle die Breite des Bereichs überschreitet, wie auf dieser Seite: http://jsfiddle.net/rcHdC/
Sie werden sehen, dass der Inhalt der Tabelle außerhalb von liegt span .
Was wäre die beste Methode, um diesen Fall zu lösen?
Wenn die Breite einer Tabelle die Breite des Bereichs überschreitet, wie auf dieser Seite: http://jsfiddle.net/rcHdC/
Sie werden sehen, dass der Inhalt der Tabelle außerhalb von liegt span .
Was wäre die beste Methode, um diesen Fall zu lösen?
Antworten:
Bootstrap 3 verfügt jetzt über sofort einsatzbereite Responsive-Tabellen. Hurra! :) :)
Sie können dies hier überprüfen: https://getbootstrap.com/docs/3.3/css/#tables-responsive
Fügen Sie eine <div class="table-responsive">Umgebung um Ihren Tisch und Sie sollten bereit sein zu gehen:
<div class="table-responsive">
<table class="table">
...
</table>
</div>
Damit es auf allen Layouts funktioniert, können Sie Folgendes tun:
.table-responsive
{
overflow-x: auto;
}
overflow-x: autoeiner benutzerdefinierten CSSDatei reicht für größere Anzeigelayouts aus.
border: 1px solid #dddddd;
.table-responsive td, .table-responsive th { white-space:nowrap; }um sicherzustellen, dass die Zellen nicht automatisch verkleinert werden, und Zeilenumbrüche hinzufügen.
Eine verfügbare Option ist fooTable. Funktioniert hervorragend auf einer Responsive-Website und ermöglicht das Festlegen mehrerer Haltepunkte ... fooTable Link
Es gibt viele verschiedene Dinge, die Sie tun können, wenn Sie mit reaktionsfähigen Tabellen arbeiten.
Ich persönlich mag diesen Ansatz von Chris Coyier:
Hier finden Sie viele andere Alternativen:
Wenn Sie Bootstrap nutzen und schnell etwas erhalten können, können Sie einfach die Klassennamen ".hidden-phone" und ".hidden-tablet" verwenden, um einige Zeilen auszublenden. Dieser Ansatz ist jedoch in vielen Fällen möglicherweise der beste. Weitere Informationen (siehe "Responsive Utility-Klassen"):
Wenn Sie Bootstrap 3 und weniger verwenden, können Sie die Antworttabellen auf alle Auflösungen anwenden, indem Sie die Datei aktualisieren:
tables.less
oder diesen Teil überschreiben:
@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;
}
}
}
}
}
}
Mit:
@media (max-width: @screen-lg) {
.table-responsive {
width: 100%;
...
Beachten Sie, wie ich den Wert für die erste Zeile @ screen-XX geändert habe.
Ich weiß, dass es vielleicht nicht so gut klingt, alle Tabellen ansprechbar zu machen, aber ich fand es äußerst nützlich, dies für LG auf großen Tabellen (viele Spalten) zu aktivieren.
Hoffe es hilft jemandem.