I am trying to get a description in a XUL application to wrap, even if it contains long lines.
For example, if I save the following as a .xul file and open it in Firefox, it looks fine and wraps appropriately:
<?xml version='1.0'?> <?xml-stylesheet href='chrome://global/skin/' type='text/css'?> <window id='theWindow' title='The Window' style='overflow: auto;' xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul' xmlns:html='http://www.w3.org/1999/xhtml' > <vbox flex='1' style='max-width: 200px; overflow:auto; border: 1px dotted black; padding: 2px;'> <description style='border: 1px solid black; padding: 2px;'>test</description> <description style='border: 1px solid black; padding: 2px;'>test test test test test test test test test test test test test test test test test test test test test</description> </vbox> </window>
However, if I remove the spaces in the big line, it doesn’t get wrapped and I just get a scroll bar to see the line:
<?xml version='1.0'?> <?xml-stylesheet href='chrome://global/skin/' type='text/css'?> <window id='theWindow' title='The Window' style='overflow: auto;' xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul' xmlns:html='http://www.w3.org/1999/xhtml' > <vbox flex='1' style='max-width: 200px; overflow:auto; border: 1px dotted black; padding: 2px;'> <description style='border: 1px solid black; padding: 2px;'>test</description> <description style='border: 1px solid black; padding: 2px;'>testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest</description> </vbox> </window>
Is there any way I can use CSS or anything else to force the long line to be wrapped when it reaches the 200 pixel limit?
Firefox 3.1 supports this: http://www.css3.info/preview/word-wrap/
With older (and current) versions of Firefox there is no standard way (Google was my friend) of doing it. Some suggest using a small script that adds
<br />in the middle of the word. Use word-wrap:break-word and hope that users will eventually upgrade.