i cant believe that im the only person that has ever run into this problem.
im using a very simple table to layout a page. the table has 3 columns, with
the middle column being where the data will be displayed.
the table is set at 500px wide, with each column being a width that adds up
to 500px. so far so simple.
the text that will display in the middle column is being pulled from a
database. i have no way of knowing how long, or what the text will look
like. it could be a single word, it could be a whole book. it might have
spaces, it might not. it could very well be a single line of 2000 characters
with no spaces and no line breaks.
when something like this happens, the column explodes and expands so the
data fits. obviously i cant have this. i also cant use server side code to
deal with this. i have tried everything i can possibly think of and the only
thing that "works" is "word-wrap: break-word;" on the <td> tag. this simply
wraps the text to the next line as soon as it hits the wall of the column.
but that ONLY works in IE. so am i to believe that what i need to do is
impossible? or that im the only person that has come across this?
if i HAVE to do it this way, what can i use to fix this problem?
here is an example of the problem: http://www.sixhouse.net/wrap.html
someone please suggest a way to deal with this
Spartanicus - 29 Sep 2006 17:24 GMT
>here is an example of the problem: http://www.sixhouse.net/wrap.html
Please do not multi post, it won't generate more answers, more likely
the opposite.

Signature
Spartanicus
Stephen Poley - 29 Sep 2006 17:38 GMT
>the text that will display in the middle column is being pulled from a
>database. i have no way of knowing how long, or what the text will look
[quoted text clipped - 5 lines]
>data fits. obviously i cant have this. i also cant use server side code to
>deal with this.
If you are pulling unknown characters out of a database you need
server-side code to handle any problems that result. *That* is your
problem - fix it. No CSS expert can help because it's a content problem,
not a presentation problem.

Signature
Stephen Poley
http://www.xs4all.nl/~sbpoley/webmatters/
Harlan Messinger - 29 Sep 2006 17:46 GMT
>> the text that will display in the middle column is being pulled from a
>> database. i have no way of knowing how long, or what the text will look
[quoted text clipped - 10 lines]
> problem - fix it. No CSS expert can help because it's a content problem,
> not a presentation problem.
Well--if max-width were implemented, that would solve the problem, no?
Stephen Poley - 29 Sep 2006 19:16 GMT
>>> the text that will display in the middle column is being pulled from a
>>> database. i have no way of knowing how long, or what the text will look
[quoted text clipped - 5 lines]
>>> data fits. obviously i cant have this. i also cant use server side code to
>>> deal with this.
>> If you are pulling unknown characters out of a database you need
>> server-side code to handle any problems that result. *That* is your
>> problem - fix it. No CSS expert can help because it's a content problem,
>> not a presentation problem.
>Well--if max-width were implemented, that would solve the problem, no?
No, for two reasons.
1) http://www.w3.org/TR/REC-CSS2/visudet.html#min-max-widths
"Applies to: all elements except non-replaced inline elements and table
elements"
2) If it did apply to table elements, the reader wouldn't be able to see
the remaining content. If it is "a single line of 2000 characters
with no spaces and no line breaks" then it needs to be broken
appropriately (or replaced by something else) by a piece of code that
specifically handles that type of content (whatever it may be).

Signature
Stephen Poley
http://www.xs4all.nl/~sbpoley/webmatters/
Harlan Messinger - 29 Sep 2006 19:50 GMT
>>>> the text that will display in the middle column is being pulled from a
>>>> database. i have no way of knowing how long, or what the text will look
[quoted text clipped - 25 lines]
> appropriately (or replaced by something else) by a piece of code that
> specifically handles that type of content (whatever it may be).
OK. Well, then, they *could* allow in-word breaks in that case. No
reason not to make it an option. It may be ugly, but say the situation
is that text that normally wouldn't exceed the intended width of a
table's columns does so because the user's visual acuity is poor and he
has jacked up the font size way high. I can see why it might be easier
for him to make use of the table if the overflow were handled by
breaking the text within words rather than by imposing excessive
horizontal scrolling.
Harlan Messinger - 29 Sep 2006 17:44 GMT
> i cant believe that im the only person that has ever run into this problem.
> im using a very simple table to layout a page. the table has 3 columns, with
[quoted text clipped - 7 lines]
> spaces, it might not. it could very well be a single line of 2000 characters
> with no spaces and no line breaks.
Is a table the most effective way to display data when the rows can span
dozens of pages/screens?
> when something like this happens, the column explodes and expands so the
> data fits. obviously i cant have this. i also cant use server side code to
[quoted text clipped - 3 lines]
> but that ONLY works in IE. so am i to believe that what i need to do is
> impossible? or that im the only person that has come across this?
CSS provides a max-width property, but it isn't implemented in IE or, at
least for table cells or columns, in Firefox.
Ben C - 29 Sep 2006 20:12 GMT
> i cant believe that im the only person that has ever run into this problem.
> im using a very simple table to layout a page. the table has 3 columns, with
[quoted text clipped - 18 lines]
>
> if i HAVE to do it this way, what can i use to fix this problem?
word-wrap: break-word is not standard. There is no way in standard CSS
2.1 to force word breaks-- no matter what widths, min-widths or
max-widths you set on any kind of box, if the longest unbreakable
sequence of characters is wider than the box, words will not be broken.
They will overflow in most cases (and you can control the behaviour with
the overflow property); in the case of table cells, the table cell will
grow and will never be overflowed.
All this makes sense because most of the time you don't want to break
words. Unless you do proper hyphenation, but deciding where to put the
hyphens gets quite complex.
One way you can get the result you want is to insert ​ (which is
the "zero-width space character") after every character in your source.
You can do this on the server or with JavaScript on the client side.
i.e. write your text l&8203;i&8203;k&8203;e&8203;
t&8203;h&8203;i&8203;s&8203;
boclair - 30 Sep 2006 02:46 GMT
> i cant believe that im the only person that has ever run into this problem.
> im using a very simple table to layout a page. the table has 3 columns, with
[quoted text clipped - 7 lines]
> spaces, it might not. it could very well be a single line of 2000 characters
> with no spaces and no line breaks.
Split the string into set lengths on the server side.
Louise