white-space

此 CSS white-space 屬性決定如何處理元素內的空白字元。

提醒:如果要讓文字本身斷行,請改用 overflow-wrap (en-US)word-break (en-US)hyphens (en-US)

/* Keyword values */
white-space: normal;
white-space: nowrap;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line;

/* Global values */
white-space: inherit;
white-space: initial;
white-space: unset;

預設值normal
Applies toall elements
繼承與否yes
Computed value (en-US)as specified
Animation typediscrete

Syntax

white-space 的特性值為下列其中之一。

Values

normal
連續的空白字元會被合併(collapse),換行字元被視為空白字元。換行只在被文字空間限制時發生。
nowrap
對待空白字元的方式跟 normal 一樣,且會強制不換行。
pre
連續的空白字元都會被保留。換行在有換行字元以及<br>時發生。
pre-wrap
連續的空白字元都會被保留。換行會在換行字元、有<br>元素以及被文字空間限制時發生。
pre-line
連續的空白字元會被合併(collapse)。換行在換行字元、 <br>以及被文字空間限制時發生。

下列表格整理了各項 white-space 值的行為:

New lines Spaces and tabs Text wrapping
normal Collapse Collapse Wrap
nowrap Collapse Collapse No wrap
pre Preserve Preserve No wrap
pre-wrap Preserve Preserve Wrap
pre-line Preserve Collapse Wrap

Formal syntax

white-space = 
normal | (en-US)
pre | (en-US)
nowrap | (en-US)
pre-wrap | (en-US)
break-spaces | (en-US)
pre-line

Examples

Basic example

code {
  white-space: pre;
}

Line breaks inside <pre> (en-US) elements

pre {
  word-wrap: break-word;      /* IE 5.5-7 */
  white-space: -moz-pre-wrap; /* Firefox 1.0-2.0 */
  white-space: pre-wrap;      /* Modern browsers */
}

See it in action

Source

    <p>    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

CSS + Result

Specifications

Specification
CSS Text Module Level 3
# white-space-property

Browser compatibility

BCD tables only load in the browser

See also