white-space
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
white-space CSS 屿§ç¨äºè®¾ç½®å¦ä½å¤çå
ç´ å
ç空ç½å符ã
å°è¯ä¸ä¸
white-space: normal;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line;
white-space: wrap;
white-space: collapse;
white-space: preserve nowrap;
<section class="default-example" id="default-example">
<div id="example-element">
<p>
But ere she from the church-door stepped She smiled and told us why: 'It
was a wicked woman's curse,' Quoth she, 'and what care I?' She smiled, and
smiled, and passed it off Ere from the door she steptâ
</p>
</div>
</section>
#example-element {
width: 16rem;
}
#example-element p {
border: 1px solid #c5c5c5;
padding: 0.75rem;
text-align: left;
}
è¿ä¸ªå±æ§æå®äºä¸¤ä»¶äºï¼
- 空ç½å符æ¯å¦åå¹¶ï¼ä»¥åå¦ä½åå¹¶ã
- æ¯å¦æ¢è¡ï¼ä»¥åå¦ä½æ¢è¡ã
夿³¨ï¼è¦ä½¿åè¯å¯ä»¥å¨å
¶å
é¨è¢«æªæï¼è¯·ä½¿ç¨ overflow-wrapãword-break æ hyphens 代æ¿ã
è¯æ³
/* å个å
³é®åå¼ */
white-space: normal;
white-space: nowrap;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line;
white-space: break-spaces;
/* white-space-collapse å text-wrap ç®åå¼ */
white-space: collapse balance;
white-space: preserve nowrap;
/* å
¨å±å¼ */
white-space: inherit;
white-space: initial;
white-space: revert;
white-space: revert-layer;
white-space: unset;
å¼
white-space 屿§å¯ä»¥è¢«æå®ä¸ºä»ä¸é¢çå¼å表ä¸éæ©çå个å
³é®åï¼æè
æ¯è¡¨ç¤º white-space-collapse å text-wrap 屿§çç®åç两个å¼ã
normal-
è¿ç»ç空ç½ç¬¦ä¼è¢«åå¹¶ãæºç ä¸çæ¢è¡ç¬¦ä¼è¢«å½ä½ç©ºç½ç¬¦æ¥å¤çãå¹¶æ ¹æ®å¡«å è¡æ¡çåçéè¦æ¥æ¢è¡ã
nowrap-
å
normal䏿 ·å并空ç½ç¬¦ï¼ä½é»æ¢æºç ä¸çææ¬æ¢è¡ã pre-
è¿ç»ç空ç½ç¬¦ä¼è¢«ä¿çãä» å¨éå°æ¢è¡ç¬¦æ
<br>å ç´ æ¶æä¼æ¢è¡ã pre-wrap-
è¿ç»ç空ç½ç¬¦ä¼è¢«ä¿çãå¨éå°æ¢è¡ç¬¦æ
<br>å ç´ æ¶ï¼æè æ ¹æ®å¡«å è¡æ¡çåçéè¦æ¢è¡ã pre-line-
è¿ç»ç空ç½ç¬¦ä¼è¢«åå¹¶ãå¨éå°æ¢è¡ç¬¦æ
<br>å ç´ æ¶ï¼æè æ ¹æ®å¡«å è¡æ¡çåçéè¦æ¢è¡ã break-spaces-
ä¸
pre-wrapçè¡ä¸ºç¸åï¼é¤äºï¼- ä»»ä½ä¿çç空ç½åºåæ»æ¯å ç¨ç©ºé´ï¼å æ¬è¡æ«çã
- æ¯ä¸ªä¿çç空ç½å符åï¼å æ¬ç©ºç½å符ä¹é´ï¼é½å¯ä»¥è¢«æªæã
- è¿æ ·ä¿çç空é´å ç¨ç©ºé´èä¸ä¼æèµ·ï¼ä»èå½±åçåçåºæå°ºå¯¸ï¼
min-content尺寸åmax-content尺寸ï¼ã
ä¸é¢çè¡¨æ ¼æ»ç»äºåç§ white-space å
³é®åå¼çè¡ä¸ºï¼
| æ¢è¡ç¬¦ | ç©ºæ ¼åå¶è¡¨ç¬¦ | ææ¬æ¢è¡ | è¡æ«ç©ºæ ¼ | è¡æ«çå ¶ä»ç©ºç½åé符 | |
|---|---|---|---|---|---|
normal |
åå¹¶ | åå¹¶ | æ¢è¡ | ç§»é¤ | æèµ· |
nowrap |
åå¹¶ | åå¹¶ | 䏿¢è¡ | ç§»é¤ | æèµ· |
pre |
ä¿ç | ä¿ç | 䏿¢è¡ | ä¿ç | 䏿¢è¡ |
pre-wrap |
ä¿ç | ä¿ç | æ¢è¡ | æèµ· | æèµ· |
pre-line |
ä¿ç | åå¹¶ | æ¢è¡ | ç§»é¤ | æèµ· |
break-spaces |
ä¿ç | ä¿ç | æ¢è¡ | æ¢è¡ | æ¢è¡ |
é»è®¤æ
åµä¸ï¼ä¸ä¸ªå¶è¡¨ç¬¦çäº 8 ä¸ªç©ºæ ¼ï¼ä¸å¯ä»¥ä½¿ç¨ tab-size 屿§ãå¯¹äº normalãnowrap å pre-line å¼ï¼æ¯ä¸ªå¶è¡¨ç¬¦é½ä¼è¢«è½¬å为ä¸ä¸ªç©ºæ ¼ï¼U+0020ï¼å符ã
夿³¨ï¼ç©ºæ ¼åå ¶ä»ç©ºç½åé符ä¹é´åå¨åºå«ãå®ä¹å¦ä¸ï¼
- ç©ºæ ¼
-
ç©ºæ ¼ï¼U+0020ï¼ãå¶è¡¨ç¬¦ï¼U+0009ï¼ååæ®µç¬¦ï¼ä¾å¦æ¢è¡ï¼
- å ¶ä»ç©ºç½åé符
-
Unicode ä¸å®ä¹çææå ¶ä»ç©ºæ ¼åé符ï¼å·²å®ä¹ä¸ºç©ºæ ¼çåé符é¤å¤ï¼ã
å¦æç©ºç½å符被æèµ·ï¼é£ä¹å®å¯è½ä¼å½±åæ¡çåºæå°ºå¯¸çæµéç»æã
å并空ç½å符
white-space-collapse 屿§ç页é¢è§£éäºæµè§å¨å并空ç½å符çç®æ³ã
å½¢å¼å®ä¹
| åå§å¼ | normal |
|---|---|
| éç¨å ç´ | ææå ç´ |
| æ¯å¦æ¯ç»§æ¿å±æ§ | æ¯ |
| 计ç®å¼ | as specified |
| å¨ç»ç±»å | 离æ£å¼ |
å½¢å¼è¯æ³
white-space =
normal |
pre |
pre-wrap |
pre-line |
<'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'>
<white-space-collapse> =
collapse |
discard |
preserve |
preserve-breaks |
preserve-spaces |
break-spaces
<text-wrap-mode> =
wrap |
nowrap
<white-space-trim> =
none |
discard-before || discard-after || discard-inner
示ä¾
>åºç¡ç¤ºä¾
code {
white-space: pre;
}
<pre> å ç´ å çæ¢è¡
pre {
white-space: pre-wrap;
}
è¯è¯ç
æ§å¶è¡¨æ ¼ä¸çæ¢è¡
HTML
<table>
<tr>
<td></td>
<td>æååé常é¿çå
容</td>
<td class="nw">æªæåé常é¿çå
容</td>
</tr>
<tr>
<td class="nw">white-space:</td>
<td>normal</td>
<td>nowrap</td>
</tr>
</table>
CSS
table {
border-collapse: collapse;
border: solid black 1px;
width: 250px;
height: 150px;
}
td {
border: solid 1px black;
text-align: center;
}
.nw {
white-space: nowrap;
}
ç»æ
SVG ææ¬å ç´ çå¤è¡ææ¬
white-space CSS 屿§å¯ç¨äºå¨ <text> å
ç´ ä¸å建å¤è¡ææ¬ï¼è¯¥å
ç´ é»è®¤æ
åµä¸ä¸ä¼æ¢è¡ã
HTML
<text> å
ç´ å
é¨çææ¬éè¦æåæå¤è¡ä»¥ä¾¿æ£æµæ°è¡ãä»ç¬¬äºè¡å¼å§ï¼å
¶ä½è¡ç空ç½éè¦ç§»é¤ã
<svg viewBox="0 0 320 150">
<text y="20" x="10">Here is an English paragraph
that is broken into multiple lines
in the source code so that it can
be more easily read and edited
in a text editor.
</text>
</svg>
CSS
text {
white-space: break-spaces;
}
ç»æ
è§è
| è§è |
|---|
| CSS Text Module Level 4 > # white-space-property > |
| Scalable Vector Graphics (SVG) 2 > # TextWhiteSpace > |
æµè§å¨å ¼å®¹æ§
åè§
- å®ä¹åè¯å¦ä½å¨å
¶å
é¨è¢«æªæç屿§ï¼
overflow-wrapãword-breakãhyphens tab-size