HTML Tabelle mit fester Breite automatisch anpassen-Spalten
Ist es möglich,
table-layout: fixed;
width: 100%;
In einer Tabelle noch die Spalten auto-Größe am besten passen Sie den Inhalt wie eine Tabelle, wenn nicht, legen Sie fest?
Den Tisch werden muss, legen Sie fest, damit es nicht zu erhöhen in der Breite, die größer als die Eltern werden.
Oder anders gesagt:
Ist es möglich mit table-layout:auto, sondern eine maximale Breite, die eingehalten werden, auch wenn eine lange Zeichenfolge ohne Leerzeichen in der Tabelle.
Mit
Ich denke, dass nur die Einstellung
Sind Sie tatsächlich zu Fragen, wie mit automatisch layout (nicht fixiert), so dass die tatsächliche Breite der Tabelle nicht mehr als die Breite einstellen?
sehr guter Punkt. Ich habe Hinzugefügt, um die Frage zu erklären, es auf diese Weise um.
table-layout:fixed
die horizontale Anordnung hängt nur von der Tabellenbreite und der Breite der Spalten, nicht der Inhalt der Zellen. Es wird nicht "best-fit" zu den Inhalten. Passend zu den Inhalten erfolgt generell mit table-layout:auto;
(das ist der Standard).Ich denke, dass nur die Einstellung
width: 100%
wäre in Ordnung... Keine Notwendigkeit zu ändern table-layout
Sind Sie tatsächlich zu Fragen, wie mit automatisch layout (nicht fixiert), so dass die tatsächliche Breite der Tabelle nicht mehr als die Breite einstellen?
sehr guter Punkt. Ich habe Hinzugefügt, um die Frage zu erklären, es auf diese Weise um.
InformationsquelleAutor Smithy | 2014-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, Sie können nicht kombinieren zwei verschiedene Tabelle-layout-Modi. Im automatischen layout (
table-layout: auto
, die Voreinstellung), wird die Spaltenbreite ausgewählt werden, indem der browser so, die sind groß genug für alle Inhalte der Zellen; in beliebiger Breite Einstellungen, die Sie vornehmen, werden nur als mindestens breiten, die möglicherweise machen Sie die Spalte breiter, als Sie sonst sein. Dies bedeutet auch, dass jeder-Breite-Einstellung für die Tabelle überschritten werden, wenn dies für den Zweck. Im festen layout (table-layout: fixed
), den Inhalt einer Zelle ist nicht Rücksicht genommen. Angegebene Breite wird verwendet werden, oder, in Ermangelung Breite Einstellungen, die gesamte Breite gleichmäßig aufgeteilt wird, um die Spalten.Die Schlussfolgerung ist, dass, wenn Sie möchten, dass die automatische layout-oder "best-fit", aber nicht wollen, überschreiten einer bestimmten Grenze, die Sie benötigen, um sicherzustellen, dass die Summe von Spalte-Breite-Anforderungen nicht überschreiten. Zum Beispiel, wenn Sie eine lange Zeichenkette ohne Leerzeichen, erwägen Sie optional Zeilenumbrüche an geeigneter Stelle z.B. mit
​
oder<wbr>
, wenn der Inhalt erlaubt Pausen.Können Sie auch erwägen Sie, eine maximale Breite für den Inhalt einer Zelle. Diese kann nicht direkt festgelegt werden (im automatischen layout), aber es kann getan werden, mithilfe
<td><div>...</div></td>
und einstellen der Einschränkung auf diediv
. Wenn es z.B. eine lange unteilbar string in den content, der content-überlauf standardmäßig, aber der Tabelle Zelle noch die Breite bestimmt die Breite Zwang.InformationsquelleAutor Jukka K. Korpela