white-space

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.

nowrap

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. Opera 7.50 only does so within my frameset, though, not when this page is in a separate window.

pre

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?

pre-wrap

Only Opera 7.50 supports this value.

This value behaves as the pre value, except that it does add 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:

pre-line

No browser supports this value.

As far as I understand this value ignores tabs and multiple spaces, but it does break 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?