Angenommen, dieses Markup:
<table class="table table-bordered" align="center">
Egal wie viele Zellen ich habe, die Tabelle ist immer 100% breit. Warum ist das?
Angenommen, dieses Markup:
<table class="table table-bordered" align="center">
Egal wie viele Zellen ich habe, die Tabelle ist immer 100% breit. Warum ist das?
Antworten:
Alle Tabellen im Bootstrap werden entsprechend ihrem Container gedehnt. Dies können Sie einfach tun, indem Sie Ihre Tabelle in ein .span*
Rasterelement Ihrer Wahl platzieren. Wenn Sie diese Eigenschaft entfernen möchten, können Sie Ihre eigene Tabellenklasse erstellen und sie einfach der Tabelle hinzufügen, die Sie mit dem Inhalt erweitern möchten:
.table-nonfluid {
width: auto !important;
}
Sie können diese Klasse in Ihr eigenes Stylesheet einfügen und sie einfach wie folgt zum Container Ihrer Tabelle hinzufügen:
<table class="table table-nonfluid"> ... </table>
Auf diese Weise wirkt sich Ihre Änderung nicht auf das Bootstrap-Stylesheet selbst aus (möglicherweise möchten Sie eine flüssige Tabelle an einer anderen Stelle in Ihrem Dokument haben).
.span*
Ihrer Tabelle sogar eine Klasse hinzufügen , um ihr eine gewisse Breite zu verleihen.
!important
es am width: auto
<table style="width: auto;" ...
funktioniert gut. Getestet in Chrome 38, IE 11 und Firefox 34.
jsfiddle: http://jsfiddle.net/rpaul/taqodr8o/
Wenn Sie Bootstrap 4 verwenden, verwenden Sie .w-auto
.
Warum dagegen ankämpfen? Warum steuern Sie nicht einfach Ihre Tabellenbreite mithilfe des Bootstrap-Rasters? Dies ist das Bootstrap 3-Markup.
<div class="row">
<div class="col-sm-6">
<table></table>
</div>
</div>
Dadurch wird eine Tabelle erstellt, die die Hälfte (6 von 12) der Breite des enthaltenen Elements beträgt.
Ich verwende manchmal Inline-Stile gemäß den anderen Antworten, aber es wird davon abgeraten.
Wenn Sie Bootstrap 4 verwenden, gibt es einige nette Hilfsklassen für die Breite wie:
w-25, w-50, w-75, and w-100
Hier ist das Dokument: https://getbootstrap.com/docs/4.0/utilities/sizing/
Ich hatte das gleiche Problem, habe die Tabelle repariert und dann meine td-Breite angegeben. Wenn Sie das haben, können Sie das auch tun.
<style>
table {
table-layout: fixed;
word-wrap: break-word;
}
</style>
<td width="10%" /td>
Ich hatte kein Glück mit .table-nonfluid.
width: auto !important;
!important
(es ist eine schlechte Praxis ). Siehe Kommentar zu einer Antwort unten .
Ich habe versucht hinzuzufügen style="width: auto !important"
und funktioniert gut für mich!
<link>
Tag für benutzerdefinierte Stile unter dem Bootstrap- Tag angezeigt <link>
), werden die Regeln wie vorgesehen kaskadiert , und Sie sollten Ihre !important
Ausnahme überhaupt nicht verwenden müssen . Dies gilt , da width: 100%;
für definiert ist table
in der Bootstrap CSS und so Ihre ist ablöst width: auto;
Regel.