The white-space declaration allows you to tweak the wrapping of an element.
See also the specification.
Test sheet:
p.test {
border: 1px solid #000000;
padding: 5px;
width: 300px;
}
I add the relevant white-space value inline.
All browsers but Explorer 5.0 Windows.
This value suppresses all line breaks in the element, except where it contains <br />s or <wbr />s.
This is the test paragraph with white-space: nowrap.
It has all kinds of odd tabs and spacing in
the
HTML source code.
Should they be preserved?
If the line of code stretches beyond the right border of the page, the browser should generate a horizontal scrollbar.
Not supported by Explorer 5 Windows, and by Explorer 6 Windows in Quirks Mode. (This page is in Strict Mode).
This value makes the element behave as a <pre>: all line breaks, tabs and other oddities of the source code
are literally followed.
This is the test paragraph with white-space: pre.
It has all kinds of odd tabs and spacing in
the
HTML source code.
Should they be preserved?
Not supported by IE and Firefox.
This value behaves as the pre value, except that it adds extra line breaks to prevent the text breaking out of
the element's box.
This is the test paragraph with white-space: pre-wrap.
It has all kinds of odd tabs and spacing in
the
HTML source code.
Should they be preserved?
Opera renders it like this:
Not supported by IE and Firefox.
As far as I understand this value ignores tabs and multiple spaces, but it breaks off the text at hard returns in the source code, as well as when it's necessary to prevent the text from breaking out of its box.
This is the test paragraph with white-space: pre-line.
It has all kinds of odd tabs and spacing in
the
HTML source code.
Should they be preserved?
iCab renders it like this: