Ich habe Probleme mit einer HTML-Tabelle, deren übergeordneter Container überfüllt ist.
.page {
width: 280px;
border:solid 1px blue;
}
.my-table {
word-wrap: break-word;
}
.my-table td {
border:solid 1px #333;
}
<div class="page">
<table class="my-table">
<tr>
<th>Header Text</th>
<th>Col 1</th>
<th>Col 2</th>
<th>Col 3</th>
<th>Col 4</th>
<th>Header Text</th>
</tr>
<tr>
<td>An archipelago is a chain or cluster of islands. The word archipelago is derived from the Greek ἄρχι- – arkhi and πέλαγος – pélagosthrough the Italian arcipelago. In Italian, possibly following a tradition of antiquity, the Arcipelago (from medieval Greek *ἀρχιπέλαγος) was the proper name for the Aegean Sea and, later, usage shifted to refer to the Aegean Islands (since the sea is remarkable for its large number of islands). It is now used to refer to any island group or, sometimes, to a sea containing a large number of scattered islands such as the Aegean Sea.[1]</td>
<td>some data</td>
<td>some data</td>
<td>some data</td>
<td>some data</td>
<td>An archipelago is a chain or cluster of islands. The word archipelago is derived from the Greek ἄρχι- – arkhi and πέλαγος – pélagosthrough the Italian arcipelago. In Italian, possibly following a tradition of antiquity, the Arcipelago (from medieval Greek *ἀρχιπέλαγος) was the proper name for the Aegean Sea and, later, usage shifted to refer to the Aegean Islands (since the sea is remarkable for its large number of islands). It is now used to refer to any island group or, sometimes, to a sea containing a large number of scattered islands such as the Aegean Sea.[1]</td>
</tr>
</table>
</div>
Wie kann ich erzwingen, dass sowohl der Kopfzeilentext als auch der Tabellenzellentext so umbrochen werden, dass er ordnungsgemäß in den Container passt? Ich würde eine reine CSS-Methode bevorzugen, bin aber auch offen für die Verwendung von Javascript (oder jQuery), wenn dies unbedingt erforderlich ist.
quelle
word-wrap: break-word;
word-break: break-word
welche am besten funktionieren.overflow-wrap
stattdessen Eigentum zu verwenden, da es standardisiert istIn
display: block;
undoverflow: auto;
um.my-table
. Dadurch wird einfach alles abgeschnitten, was über das280px
von Ihnen erzwungene Limit hinausgeht. Es gibt keine Möglichkeit, es mit dieser Anforderung "hübsch aussehen" zu lassen, da Wörter wiepélagosthrough
diese breiter als sind280px
.quelle
Versuchen Sie Folgendes hinzuzufügen
td
:Übergelaufene tds werden an der neuen Zeile ausgerichtet.
quelle
Nun, angesichts Ihrer Einschränkungen denke ich, dass die Einstellung
overflow: scroll;
des.page
Div wahrscheinlich Ihre einzige Option ist. 280 px sind ziemlich schmal, und angesichts Ihrer Schriftgröße reicht ein Zeilenumbruch allein nicht aus. Einige Wörter sind nur lang und können nicht umbrochen werden. Sie können entweder Ihre Schriftgröße drastisch reduzieren oder mit Überlauf gehen: scrollen.quelle
Aktualisieren Sie Ihr CSS auf Folgendes: Dies sollte behoben sein
quelle