Skip to main content

Most elegant way to force a TEXTAREA element to line-wrap, *regardless* of whitespace


Html Textarea elements only wrap when they reach a space or tab character. This is fine, until the user types a looooooooooooooooooooooong enough word. I'm looking for a way to strictly enforce line breaks (eg.: even if it results in "loooooooooooo \n ooooooooooong").



alt text



The best I've found is to add a zero-width unicode space after every letter, but this breaks copy and paste operations. Anyone know of a better way?



Note: I'm referring to the "textarea" element here (i.e.: the one that behaves similarly to a text input) - not just a plain old block of text.


Source: Tips4allCCNA FINAL EXAM

Comments

  1. The CSS settings word-wrap:break-word and text-wrap:unrestricted appear to be CSS 3 features. Good luck finding a way to do this on current implementations.

    ReplyDelete
  2. quirksmode.org has an overview of various methods.
    There's a related SO question: "In HTML, how to word-break on a dash?"
    In browsers that support it, word-wrap: break-word might give the desired effect as well.

    ReplyDelete
  3. There's the non-standard element wbr that is supported by at least

    Firefox, http://developer.mozilla.org/En/HTML/Element

    Internet Explorer, http://msdn.microsoft.com/en-us/library/ms535917(VS.85).aspx

    and Opera.

    ReplyDelete
  4. I tested the <wbr>, &#8203; and &shy; techniques. All three worked well in IE 7, Firefox 3 and Chrome.

    The only one that did not break the copy/paste was the <wbr> tag.

    ReplyDelete
  5. According to my tests, only Firefox has the described behavior among current browsers. So I guess your best bet is to wait for the imminent release of Firefox 3.1 to solve your problem :)

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?