Einfaches Schema:
<tr class="something">
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr>
Ich muss eine feste Breite für einrichten <td>
. Ich habe es versucht:
tr.something {
td {
width: 90px;
}
}
Ebenfalls
td.something {
width: 90px;
}
zum
<td class="something">B</td>
Und selbst
<td style="width: 90px;">B</td>
Aber die Breite von <td>
ist immer noch gleich.
css
twitter-bootstrap
width
html-table
user984621
quelle
quelle
style="width: 1% !important;"
diese Option, um die Breite so eng wie das längste Wort in der Spalte zu machen. Dies ist nützlich für die erste ID / # -Spalte. Getestet in Chrom (Desktop & Mobile), Oper (Desktop), IE (Desktop), Edge (Desktop), Firefox (Desktop)Antworten:
Für Bootstrap 4.0:
In Bootstrap 4.0.0 können Sie die
col-*
Klassen nicht zuverlässig verwenden (funktioniert in Firefox, aber nicht in Chrome). Sie müssen die Antwort von OhadR verwenden :Für Bootstrap 3.0:
Verwenden Sie
class="col-md-*"
bei Twitter Bootstrap 3 Folgendes: wobei * eine Anzahl von Spalten mit einer Breite ist.Für Bootstrap 2.0:
Verwenden Sie
class="span*"
bei Twitter Bootstrap 2 Folgendes: wobei * eine Anzahl von Spalten mit einer Breite ist.** Wenn Sie
<th>
Elemente haben , stellen Sie die Breite dort und nicht auf den<td>
Elementen ein.quelle
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.
Vorlage:
Bitte verwenden Sie CSS zum Strukturieren von Layouts.
quelle
class
imtd
Tag, anstatt den Stil direkt anzuwendenth
like zu erhöhen :<th style="width: 25%;"></th>
Dies wird die Breite anderer Spalten beeinflussentable-layout: fixed
. Dies ist erforderlich, da viele mit BS4 erstellte Vorlagen Flex auf alles anwenden, einschließlich Tabellen.Anstatt die
col-md-*
Klassen auf jedetd
in der Zeilecolgroup
anzuwenden, können Sie eine erstellen und die Klassen auf dascol
Tag anwenden .Demo hier
quelle
<col class="col-md-4 col-sm-6">
hat eine Breite von 33% bei mittlerer Bildschirmgröße und 50% bei kleiner Bildschirmgröße)Hoffentlich hilft dieser jemandem:
https://github.com/twbs/bootstrap/issues/863
quelle
Wenn Sie
<table class="table">
für Ihre Tabelle verwenden, fügt die Tabellenklasse von Bootstrap der Tabelle eine Breite von 100% hinzu. Sie müssen die Breite auf Auto ändern.Wenn die erste Zeile Ihrer Tabelle eine Kopfzeile ist, müssen Sie möglicherweise die Breite zu th anstatt zu td hinzufügen.
quelle
th
auf normal setzen, da es sich derzeit um Nowrap handelt, da solche Header nicht beschädigt werden.In meinem Fall konnte ich dieses Problem beheben, indem ich
min-width: 100px
anstellewidth: 100px
für die Zellenth
oder verwendetetd
.quelle
Für Bootstrap 4 können Sie einfach den Klassenhelfer verwenden:
quelle
.w-25, .w-50, .w-75, .w-100, .w-auto
Wenn Sie also etwas anderes möchten, müssenw-10
Sie es.w-10 { width: 10% !important; }
Ihrer lokalisierten CSS-Datei hinzufügen .Versuche dies -
quelle
text-overflow: ellipsis
, um sicherzustellen, dass der abgeschnittene Text sichtbar istBootstrap 4.0
In Bootstrap 4.0 müssen wir die Tabellenzeilen durch Hinzufügen der Klasse d-flex als Flexboxen deklarieren und außerdem die Suffixe xs, md und drop löschen, damit Bootstrap sie automatisch aus dem Ansichtsfenster ableiten kann.
So wird es aussehen:
Hoffe, das wird jemand anderem da draußen helfen!
Prost!
quelle
Diese kombinierte Lösung hat bei mir funktioniert, ich wollte Spalten gleicher Breite
Ergebnis: -
quelle
Ok, ich habe gerade herausgefunden, wo das Problem liegt - in Bootstrap wird als Standardwert
width
für dasselect
Element eingerichtet, daher lautet die Lösung:Alles andere funktioniert mir nicht.
quelle
Ohne den Kontext der HTML-Seite oder den Rest Ihres CSS schwer zu beurteilen. Es kann unzählige Gründe geben, warum Ihre CSS-Regel das td-Element nicht beeinflusst.
Haben Sie spezifischere CSS-Selektoren wie z
Dies, um zu vermeiden, dass Ihr CSS durch eine spezifischere Regel aus dem Bootstrap-CSS überschrieben wird.
(Übrigens, in Ihrem Inline-CSS-Beispiel mit dem style-Attribut haben Sie die Breite falsch geschrieben - das könnte erklären, warum dieser Versuch fehlgeschlagen ist!)
quelle
Ich habe eine Weile mit dem Problem zu kämpfen, also nur für den Fall, dass jemand den gleichen dummen Fehler wie ich macht ... Im Inneren hatte
<td>
ich das Element mitwhite-space:pre
Stil angewendet. Dadurch wurden alle meine table / tr / td-Tricks verworfen. Als ich diesen Stil entfernte, war plötzlich mein gesamter Text im Format schön formatierttd
.Überprüfen Sie also immer den Hauptcontainer (wie
table
odertd
), aber auch immer, ob Sie Ihren schönen Code nicht irgendwo tiefer stornieren :)quelle
Verwenden Sie in Bootstrap 4 d-flex anstelle von row für "tr"
Die Sache ist, dass die "Zeilen" -Klasse mehr Breite benötigt als der übergeordnete Container, was zu Problemen führt.
quelle
In Bootstarp 4 können Sie verwenden
row
undcol-*
in Tabelle verwende ich es wie folgtquelle
So mache ich das oft, wenn ich mich nicht mit IE beschäftigen muss
Auf diese Weise können Sie ein bekanntes 12-Spalten-Raster erstellen.
quelle
Nichts davon funktioniert für mich und es gibt viele Spalten, die datierbar sind, damit die% - oder sm-Klasse dem 12-Elemente-Layout auf dem Bootstrap entspricht.
Ich habe mit den Datentabellen Angular 5 und Bootstrap 4 gearbeitet und habe viele Spalten in der Tabelle. Die Lösung für mich bestand
TH
darin, einDIV
Element mit einer bestimmten Breite hinzuzufügen . Zum Beispiel für die Spalten "Personenname" und "Ereignisdatum" benötige ich eine bestimmte Breite,div
füge dann ein in den Spaltenkopf ein, die gesamte Spaltenbreite ändert sich dann auf die Breite, die aus dem div auf dem angegeben wirdTH
:quelle
benutze .something ohne td oder th
quelle
quelle