Mam problemy z tabelą html, która przepełnia swój kontener nadrzędny.
.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>
Jak mogę wymusić zawijanie zarówno tekstu nagłówka, jak i tekstu komórki tabeli w taki sposób, aby pasował prawidłowo do kontenera? Wolałbym tylko metodę CSS, ale jestem również otwarty na użycie JavaScript (lub jQuery), jeśli jest to absolutnie konieczne.
źródło
word-wrap: break-word;
word-break: break-word
co działa najlepiej.overflow-wrap
zamiast tego użyć własności, ponieważ jest ona ustandaryzowanaDodaj
display: block;
ioverflow: auto;
do.my-table
. Spowoduje to po prostu odcięcie wszystkiego, co przekracza280px
narzucony limit. Nie ma sposobu, aby „ładnie wyglądać” przy tym wymaganiu ze względu na takie słowa,pélagosthrough
które są szersze niż280px
.źródło
Spróbuj dodać do
td
:przepełnione tds zostaną wyrównane z nowym wierszem.
źródło
Biorąc pod uwagę twoje ograniczenia, myślę, że ustawienie
overflow: scroll;
na.page
div jest prawdopodobnie jedyną opcją. 280 pikseli jest dość wąski, a biorąc pod uwagę rozmiar czcionki, samo zawijanie słów nie wystarczy. Niektóre słowa są po prostu długie i nie można ich zawinąć. Możesz drastycznie zmniejszyć rozmiar czcionki lub zastosować przepełnienie: przewiń.źródło
zaktualizuj swój CSS do następującego: to powinno naprawić
źródło