發表日期:2019-09 文章編輯:小燈 瀏覽次數:5814
HTML 代碼的空格通常會被瀏覽器忽略。
<p>??hello??world??</p>
上面是一行 HTML 代碼,文字的前部、內部和后部各有兩個空格。為了便于識別,這里使用半圓形符號?
表示空格。
瀏覽器的輸出結果如下。
hello world
可以看到,文字的前部和后部的空格都會忽略,內部的連續空格只會算作一個。這就是瀏覽器處理空格的基本規則。
如果希望空格原樣輸出,可以使用<pre>
標簽。
<pre>??hello??world??</pre>
另一種方法是,改用 HTML 實體表示空格。
<p>helloworld</p>
HTML 處理空格的規則,適用于多種字符。除了普通的空格鍵,還包括制表符(\t
)和換行符(\r
和\n
)。
瀏覽器會自動把這些符號轉成普通的空格鍵。
<p>helloworld</p>
上面代碼中,文本內部包含了一個換行符,瀏覽器視同為空格,輸出結果如下。
hello world
所以,文本內部的換行是無效的(除非文本放在<pre>
標簽內)。
<p>hello<br>world</p>
上面代碼使用<br>
標簽顯式表示換行。
HTML 語言的空格處理,基本上就是直接過濾。這樣的處理過于粗糙,完全忽視了原始文本內部的空格可能是有意義的。
CSS 提供了一個white-space
屬性,可以提供更精確一點的空格處理方式。該屬性共有六個值,除了一個通用的inherit
(繼承父元素),下面依次介紹剩下的五個值。
white-space
屬性的默認值為normal
,表示瀏覽器以正常方式處理空格。
<p>??hellohellohello?helloworld</p>
上面代碼中,文本前部有兩個空格,內部有一個長單詞和一個換行符。
然后,容器<p>
指定一個比較小的寬度。為了便于識別,背景色設為紅色。
p {width: 100px;background: red;}
顯示效果如下圖。
可以看到,文首的空格被忽略。由于容器太窄,第一個單詞溢出容器,然后在后面一個空格處換行。文本內部的換行符自動轉成了空格。
white-space
屬性為nowrap
時,不會因為超出容器寬度而發生換行。
p {white-space: nowrap;}
顯示效果如下圖。
所有文本顯示為一行,不會換行。
white-space
屬性為pre
時,就按照<pre>
標簽的方式處理。
p {white-space: pre;}
顯示效果如下圖。
上面結果與原始文本完全一致,所有空格和換行符都保留了。
white-space
屬性為pre-wrap
時,基本還是按照<pre>
標簽的方式處理,唯一區別是超出容器寬度時,會發生換行。
p {white-space: pre-wrap;}
顯示效果如下圖。
文首的空格、內部的空格和換行符都保留了,超出容器的地方發生了折行。
white-space
屬性為pre-line
時,意為保留換行符。除了換行符會原樣輸出,其他都與white-space:normal
規則一致。
p {white-space: pre-line;}
顯示效果如下圖。
除了文本內部的換行符沒有轉成空格,其他都與normal
的處理規則一致。這對于詩歌類型的文本很有用。
日期:2019-09 瀏覽次數:6905
日期:2019-09 瀏覽次數:4755
日期:2019-09 瀏覽次數:5570
日期:2019-09 瀏覽次數:10799
日期:2019-09 瀏覽次數:10834
日期:2019-09 瀏覽次數:4536
日期:2019-09 瀏覽次數:4129
日期:2019-09 瀏覽次數:3950
日期:2019-09 瀏覽次數:3506
日期:2019-09 瀏覽次數:4264
日期:2019-09 瀏覽次數:7968
日期:2019-09 瀏覽次數:3781
日期:2019-09 瀏覽次數:4298
日期:2019-09 瀏覽次數:3793
日期:2019-09 瀏覽次數:3942
日期:2019-09 瀏覽次數:4237
日期:2019-09 瀏覽次數:5813
日期:2019-09 瀏覽次數:3508
日期:2019-09 瀏覽次數:4543
日期:2019-09 瀏覽次數:3997
日期:2019-09 瀏覽次數:4240
日期:2019-09 瀏覽次數:4282
日期:2019-09 瀏覽次數:3603
日期:2019-09 瀏覽次數:4425
日期:2019-09 瀏覽次數:5537
日期:2019-09 瀏覽次數:5380
日期:2019-09 瀏覽次數:3676
日期:2019-09 瀏覽次數:9059
日期:2019-09 瀏覽次數:4623
日期:2019-09 瀏覽次數:3973
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.