Autor Zpráva
Herbert
Profil *
Zdravím,

mam jednoduchou tabulku, například takovouhle:
<table>
<tr>
<td>nějaký text vygenerovaný PHP</td>
<td>opravdu dlouhý text opravdu dlouhý text opravdu dlouhý text opravdu dlouhý text</td>
<td>opravdudlouhýtextopravdudlouhýtextopravdudlouhýtextopravdudlouhýtext</td>
</tr>
</table>
V externím souboru mám jasně definované šířky všech tří sloupců.
U druhého sloupce se mi text v buňce zalomí na dlaší řádek, což je O.K., ale u třetího sloupce se mi zvětší šířka celé buňky a tedy i sloupce, jelikož název neobsahuje mezeru.
Jde pomocí CSS (nebo něčím jným) nějak nastavit, aby se text zalomoval i tam, kde nejsou mezery, pokud by text měl zvětšit šířku tabulky?
Musí to jít v IE 8 a v IE 9.
Trejpa
Profil
Herbert:
Obecné řešení je vložit do buňky nějaký blok s omezenou šířkou a vlastností word-wrap s hodnotou break-word:
<td><div style="word-wrap:break-word;width:200px">dlouhý_text</div></td>

V Internet Exploreru ve zpětně kompatibilním režimu to funguje i na buňce:
<td width=200 style=word-wrap:break-word>dlouhý_text</td>
Herbert
Profil *
Trejpa:
v IE 8, který mám nyní k dispozici word-wrap:break-word sice text rozdělí vzhledem k šířce objektu (v mém případě divu) a dá je na nový řádek, ale velikost toho sloupce se nepochopitelně zvětší, aby se tam ten obsah vešel i kdyby nebyl zalomen...


Tak nakonec jsem to vyřešil kombinací overflow a word-wrap. Snad to pujde i v IE 9. Díky za pomoc <b>Trejpa</b>.
margin
Profil *
Herbert:
Snad to pujde i v IE 9.
Tak se podívej: http://netrenderer.com/

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: