Я пытаюсь предотвратить переполнение таблицы, ширина которой явно указана, за пределами ее родительского элемента div
. Я предполагаю, что могу сделать это каким-то образом max-width
, но мне кажется, что это не работает.
Следующий код (с очень маленьким окном) вызовет это:
<style type="text/css">
#middlecol {
width: 45%;
border-right:2px solid red;
}
#middlecol table {
max-width:100% !important;
}
</style>
<div id="middlecol">
<center>
<table width="400" cellpadding="3" cellspacing="0" border="0" align="center">
<tr>
<td bgcolor="#DDFFFF" align="center" colspan="2">
<strong>Notification!</strong>
</td>
<tr>
<td width="50">
<img src="http://www.example.com/img.png" width="50" height="50" alt="" border="0">
</td>
<td>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</td>
</tr>
</table>
</center>
</div>
Красная линия - это правая граница div
, и если вы сделаете окно браузера маленьким, вы увидите, что таблица в него не помещается.
html
css
html-table
waiwai933
источник
источник
<center>
. Он устарел в течение многих лет. Кроме того, у вас уже естьalign="center"
на столе.Ответы:
Поверните его, выполнив:
Также я бы посоветовал вам:
center
тег (он устарел)width
,bgcolor
атрибуты, установите их с помощью CSS (width
аbackground-color
)(при условии, что вы можете управлять таблицей, которая была отрисована)
источник
Вы можете предотвратить расширение таблиц за пределы родительского div, используя
table-layout:fixed
.Приведенный ниже CSS заставит ваши таблицы расшириться до ширины окружающего его div.
Я нашел здесь эту уловку .
источник
<col>
s или на первой строке<td>
(вместо того, чтобы позволить ей течь в зависимости от размера текста). Из MDN: «фиксировано: ширина таблицы и столбца устанавливается шириной элементов table и col или шириной первой строки ячеек. Ячейки в последующих строках не влияют на ширину столбцов».Грубая работа - установить
display: table
содержащий div.источник
Я пробовал все упомянутые выше решения, но ничего не вышло. У меня есть 3 таблицы одна под другой. Последний перетек. Я исправил это с помощью:
Для IE11 в пограничном режиме вам необходимо установить для него значение
word-break:break-all
источник
Сначала я использовал метод Джеймса Лоурука. Однако это изменило всю ширину
td
's.Решением для меня было использование
white-space: normal
столбцов (для которых было установлено значениеwhite-space: nowrap
). Таким образом текст всегда будет ломаться. Использованиеword-wrap: break-word
гарантирует, что при необходимости все сломается, даже на полуслове.Тогда CSS будет выглядеть так:
Это не всегда может быть желательным решением, так как
word-wrap: break-word
ваши слова в таблице могут быть неразборчивыми. Однако это сохранит вашу таблицу правильной ширины.источник
Я пробовал почти все вышеперечисленное, но у меня не получилось ...
Это будет добавлено в родительский div (контейнер таблицы).
источник
Примените стиль выше к родительскому div.
источник
Вы можете попробовать этот CSS. Я всегда видел, как это работает.
источник
word-break: break-word
уже было предоставлено многими, многими ответами.На
width="400"
столе есть, уберите и заработает ...источник