The HTML <pre>
element (or HTML Preformatted Text) represents preformatted text. Text within this element is typically displayed in a non-proportional ("monospace") font exactly as it is laid out in the file. Whitespace inside this element is displayed as typed.
Note: you will need to escape any contained '<
' characters as '<
' to make sure enclosed code is not interpreted as markup.
Content categories | Flow content, palpable content. |
---|---|
Permitted content | Phrasing content. |
Tag omission | None, both the starting and ending tag are mandatory. |
Permitted parent elements | Any element that accepts flow content. |
DOM interface | HTMLPreElement |
Attributes
This element only includes the global attributes.
cols
- Contains the preferred count of characters that a line should have. It was a non-standard synonym of
width
. To achieve such an effect, use CSSwidth
instead. width
- Contains the preferred count of characters that a line should have. Though technically still implemented, this attribute has no visual effect; to achieve such an effect, use CSS
width
instead. wrap
- Is a hint indicating how the overflow must happen. In modern browser this hint is ignored and no visual effect results in its present; to achieve such an effect, use CSS
white-space
instead.
Examples
<!-- Some example CSS code --> <pre> body { color:red; } </pre>
Result
body { color:red; }
Specifications
Specification | Status | Comment |
---|---|---|
WHATWG HTML Living Standard The definition of '<pre>' in that specification. |
Living Standard | No significant change from WHATWG HTML Living Standard |
HTML5 The definition of '<pre>' in that specification. |
Recommendation | No significant change from HTML 4.01 Specification |
HTML 4.01 Specification The definition of '<dl>' in that specification. |
Recommendation | Deprecated the cols attribute |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 1.0 | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) |
width |
(Yes)[1] | 1.0 (1.7 or earlier) 29.0 (29.0)[1] |
(Yes)[1] | (Yes)[1] | (Yes)[1] |
cols |
No support | 1.0 (1.7 or earlier) No support 29.0 (29.0) |
No support | No support | No support |
wrap |
? | 1.0 (1.7 or earlier) | ? | ? | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Yes) | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
width |
? | 1.0 (1.0)29.0 (29.0)[1] | ? | ? | ? |
cols |
No support | 1.0 (1.0) | No support | No support | No support |
wrap |
? | 1.0 (1.0) | ? | ? | ? |
[1] Specifying the width
attribute has no layout effect.
See also
- CSS:
white-space
,word-break