Next: CSS and plain text
From: Mark D. Smith on 15 Mar 2006 04:47 Hi I have googled but not found a solution to wordwrap in a textarea using firefox/netscape. is there a style sheet solution or am i stuck with not being able to force wrapping in a textarea Mark
From: VK on 15 Mar 2006 05:48 Mark D. Smith wrote: > Hi > > I have googled but not found a solution to wordwrap in a textarea using > firefox/netscape. > > is there a style sheet solution or am i stuck with not being able to force > wrapping in a textarea Textarea has wrap attribute set to "logical" ("soft" by IE) by default, so strings will be wrapped after reaching the opposite border, but only manually typed Enter's will be submitted. So your task is to prevent wrap, not to enable it ;-) You can partially emulate wrap="off" by setting textarea style to: white-space: nowrap; But overall it is more standard and reliable to set "wrap" attribute: "physical" - all visual line breaks are submitted as newlines "logical" - you have visual line breaks but only "hardtyped" breaks are submitted "off" - rather clear I guess :-) P.S. This attribute is missing in W3C DTD's by mistake (one didn't understand the physical meaning of "wrap" and thought it to be replaceable by styling). Nevertheless it is supported by all ever existed browsers. P.P.S. Modern browsers also support an alternate attribute set from Microsoft: "soft", "hard", "off". These values have the same meaning and effect, but the original Netscape set "logical", "physical" and "off" has better cross-browser support, especially for legacy platforms.
From: Jukka K. Korpela on 15 Mar 2006 06:21 VK wrote: > Textarea has wrap attribute set to "logical" ("soft" by IE) by default, The textarea element has no wrap attribute according to the HTML specifications. Browsers generally recognize such an attribute, but information about "logical" as a value is outdated. The currently recognized values are "soft", "hard", and "off". There is of course no defined default for an attribute that is not defined in the specifications. Most browsers actually behave as if wrap="soft" had been given, but there is some variation in what this means. This is not surprising, since there is no published specification of what it means. Actually, the specifications more or less say that no wrapping take place, since the idea is that the user can type arbitrarily long lines. See http://www.cs.tut.fi/~jkorpela/forms/textarea.html for some explanations. > so strings will be wrapped after reaching the opposite border, but only > manually typed Enter's will be submitted. More or less so, but there's a difference between IE and Firefox: if there is a "word" (sequence of characters not containing whitespace characters) that is longer than the textarea width, IE breaks the "word" visually, whereas Firefox introduces horizontal scrolling. I don't think there's a way to change the Firefox behavior (which corresponds to the specifications better than the IE behavior). To see what this means, test this on your browsers: <textarea rows=3 cols=12> supercalifragilisticexpialidocious </textarea> > So your task is to prevent > wrap, not to enable it ;-) Forcing either of them is impossible. The crucial question is why the OP wants to force this or that behavior in this issue. > You can partially emulate wrap="off" by setting textarea style to: > white-space: nowrap; Maybe it should do that, but it doesn't, even if you add overflow: auto or overflow: scroll. That's at least the result of my testing on Firefox. Please specify the URL of your test document and the version(s) of Firefox you tested, if you have different _observations_. > But overall it is more standard and reliable to set "wrap" attribute: > "physical" - all visual line breaks are submitted as newlines > "logical" - you have visual line breaks but only "hardtyped" breaks are > submitted > "off" - rather clear I guess :-) I don't think "physical" and "logical" have been supported for a long time. At least Firefox 1.5 ignores them. > P.S. This attribute is missing in W3C DTD's by mistake Please don't try to rewrite history. It was no mistake. Read the actual specifications to learn how textarea was meant to work. Wrapping was later invented by browser vendors and implemented inconsistently and confusingly, as it still is. > Nevertheless it is supported by all ever > existed browsers. Any statements about "all browsers" tend to tell about the limited experience of the person who makes the statement rather than the reality around us. > the original Netscape set "logical", "physical" and > "off" has better cross-browser support, especially for legacy platforms. You didn't bother actually testing such matters, did you?
From: VK on 15 Mar 2006 07:49 Jukka K. Korpela wrote: > VK wrote: > > > Textarea has wrap attribute set to "logical" ("soft" by IE) by default, That was my mistake: the set is "physical", *** virtual *** and "off". I mistyped it because I must was thinking of total absence of logic in this situation :-) > The textarea element has no wrap attribute according to the HTML > specifications. Browsers generally recognize such an attribute, but > information about "logical" as a value is outdated. The currently > recognized values are "soft", "hard", and "off". Sorry again for "logical" instead of proper "virtual". HTML perfectly has wrap attribute since Netscape 3 at least. It is not presented though in W3C DTD's which is a serious problem of W3C but not of the web community as such. > There is of course no defined default for an attribute that is not > defined in the specifications. Of course you checked it, did you? For 90% of current UA's it is set to "soft" by default, the rest is hiding the same setting from sensitive eyes of W3C :-) > Most browsers actually behave as if > wrap="soft" had been given, but there is some variation in what this > means. This is not surprising, since there is no published specification > of what it means. Actually, the specifications more or less say that no > wrapping take place, since the idea is that the user can type > arbitrarily long lines. See > http://www.cs.tut.fi/~jkorpela/forms/textarea.html > for some explanations. > > > so strings will be wrapped after reaching the opposite border, but only > > manually typed Enter's will be submitted. > > More or less so, but there's a difference between IE and Firefox: if > there is a "word" (sequence of characters not containing whitespace > characters) that is longer than the textarea width, IE breaks the "word" > visually, whereas Firefox introduces horizontal scrolling. I don't think > there's a way to change the Firefox behavior (which corresponds to the > specifications better than the IE behavior). > > To see what this means, test this on your browsers: > > <textarea rows=3 cols=12> > supercalifragilisticexpialidocious > </textarea> You are repeating the same mistake as 7 years ago - wrap attribute doesn't set a *representation mode* - though it affects on it directly. wrap attribute governes submission process of teaxtarea data. You really should read old Netscape specs and consult with experienced server admins. ;-) It is currently broken on some browsers in the submission part, though the representation reflection is still working. And I see W3C to blame for that because for 7 years no one reasonnable browser producer could drop this attribute. So even the "standards followers" had to implement it:- but in kind of conspiracy situation, bootlegging it on the backyard. > > P.S. This attribute is missing in W3C DTD's by mistake > > Please don't try to rewrite history. It was no mistake. Read the actual > specifications to learn how textarea was meant to work. Wrapping was > later invented by browser vendors and implemented inconsistently and > confusingly, as it still is. I was using wrap attribute since Netscape 3.0 Gold and never stopped to do it - with necessary discrepancies adjustments over time. And no offence but in the year 1999 W3C's activity was rather out of intensive public interest. It was more important to know and remember all new features and bugs in NN and IE. But coming back to "rewrite history":- "I don't like it so it never existed and never will exist" - is an exact case of trying to rewrite the history. And the lesson W3C may get out of it is that no one can ignore the reality - but reality can easily ignore anyone. > > Nevertheless it is supported by all ever > > existed browsers. > > Any statements about "all browsers" tend to tell about the limited > experience of the person who makes the statement rather than the reality > around us. Read about reality above. > > the original Netscape set "logical", "physical" and > > "off" has better cross-browser support, especially for legacy platforms. > > You didn't bother actually testing such matters, did you? I'm not testing - I'm using. W3C could facilitate the usage greatly by finally sticking to one of de-facto standards and requiring the same from all players (of whom willing to listen W3C).
From: Jukka K. Korpela on 15 Mar 2006 09:03
VK wrote: > That was my mistake: the set is "physical", *** virtual *** and "off". No it isn't. You are still in error. > Sorry again for "logical" instead of proper "virtual". Stop saying you're sorry and check the facts. Neither of those values has any support worth mentioning. Using wrap="virtual" seems to work for the same reason as wrap="Hello world" does: it is ignored. > HTML perfectly > has wrap attribute since Netscape 3 at least. Smells like trolling. >>To see what this means, test this on your browsers: >> >><textarea rows=3 cols=12> >>supercalifragilisticexpialidocious >></textarea> > > You are repeating the same mistake as 7 years ago Do you mean that seven years ago you actually checked facts before trying to give advice in public? > - wrap attribute > doesn't set a *representation mode* Stop babbling and check the facts. What's so difficult in actually looking at how browsers work? >>> the original Netscape set "logical", "physical" and >>>"off" has better cross-browser support, especially for legacy platforms. >> >>You didn't bother actually testing such matters, did you? > > I'm not testing - I'm using. So when giving advice in future, will you be honest and precede your advice with a statement that says that you describe what you have been using, without actually checking the specifications _or_ actual browser behavior in recent years? |