У меня проблемы с HTML-таблицей, которая переполняет родительский контейнер.
.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>
Как сделать так, чтобы текст заголовка и текст ячейки таблицы переносились так, чтобы он правильно помещался в своем контейнере? Я бы предпочел метод только CSS, но я также открыт для использования Javascript (или jQuery), если это абсолютно необходимо.
источник
word-wrap: break-word;
word-break: break-word
которые работают лучше всего.overflow-wrap
вместо этого лучше использовать свойство, так как оно стандартизированоДобавить
display: block;
иoverflow: auto;
к.my-table
. Это просто отключит все, что превышает280px
установленный вами лимит. Невозможно сделать так, чтобы это выглядело «симпатично» из-за таких слов,pélagosthrough
которые шире, чем280px
.источник
Попробуйте добавить к
td
:переполненные tds будут выровнены с новой строкой.
источник
Что ж, учитывая ваши ограничения, я думаю, что установка
overflow: scroll;
на.page
div - это, вероятно, ваш единственный вариант. 280 пикселей довольно узкие, и, учитывая размер шрифта, перенос слов не поможет. Некоторые слова просто длинные и не могут быть завернуты. Вы можете либо резко уменьшить размер шрифта, либо использовать overflow: scroll.источник
обновите ваш CSS следующим образом: это должно исправить
источник