У меня следующая структура
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td style="width:60px;">
...
</td>
<td>
<div style="width:100%;overflow-x:hidden;">
PROBLEMS ARE HERE
</div>
</td>
</tr>
...
</table>
Первый тд занимает 60 пикселей, второй - остальные 100%, но когда у меня есть длинный текст без пробелов и тире, таблица становится больше, чем 100%. Как отобразить неразрывный текст в одну или несколько строк (оба способа приемлемы) и сохранить таблицу на 100% экрана? Я пытался исправить это с помощью overflow-hidden, но это не имеет никакого эффекта.
Вот скриншот проблемы: ссылка
Ответ 1
Установите table-layout : fixed
в свой css или <table style='table-layout : fixed'>
, который должен исправить его.
Вот пример кода . Проверьте это.
Ответ 2
Существует свойство CSS3, word-wrap:break-word;
, которое делает именно то, что вам нужно. Но, к сожалению, это не работает с ячейками таблицы. Я думаю, вам нужно переосмыслить свою структуру, выбрав план без таблиц.
Я написал этот пример для вас
<style>
section { /* your table */
display:block;
width:300px;
background-color:#aaf;
}
section:after {display:block; content:''; clear:left}
div { /* your cells */
float:left;
width:100px;
background-color:#faa;
word-wrap:break-word;
}
</style>
<section>
<div>Content.</div>
<div>Loooooooooooooooooooooooooooooooooooooooong cat.</div>
</section>
P.S: word-wrap
поддерживается в браузерах IE 5.5+, Firefox 3.5+ и WebKit, таких как Chrome и Safari.
Ответ 3
попробуйте следующее:
<table style="word-break:break-all;" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td style="width:60px;">
...
</td>
<td>
<div style="width:100%;overflow-x:hidden;">
PROBLEMS ARE no longer HERE !
</div>
</td>
</tr>
...
</table>