CSS3中word-break和word-wrap有什麼區別?

千鋒武漢發表於2021-07-09

      大家都知道在CSS3中增加了很多新的屬性,其中word-break和word-wrap就是用來給文字換行使用的,但是兩者有什麼區別很多小夥伴都不是很清楚。今天小千就來告訴你他們究竟有什麼不同,應該用在哪裡。

      word-break

      word-break它的屬性值一共有3個,其中的幾個屬性值的含義具體解釋如下:

      normal:表示預設值,即預設的的換行規則。 break-all:表示強行換行,意思就是允許任意非文字間(比如網址型別的等)的單詞斷行。 keep-all: 也表示換行,但不允許文字中的單詞換行,只能在半形空格或連字元處換行。

      其中,在這三個屬性值中,break-all這個屬性值是所有瀏覽器都支援,但是 keep-all就不這樣了,雖然有一定的發展和進步,但目前移動端還不適合使用word-break : keep-all。

      word-wrap

      它有兩個屬性值,其中的幾個屬性值的含義具體解釋如下: normal:就是預設值,就是正常的換行規則。 break-word:表示一行單詞中實在沒有其他靠譜的換行點的時候才進行換行。

      其實大家會發現,word-break和word-wrap其實是長得比較像的,而且屬性值也有類似之處,其實word-wrap屬性也是很有故事的,它之前由於和 word-break長得太像,難免會讓人記不住或搞混,所以在CSS3規範裡,這個屬性的名稱被修改了,叫作 overflow-wrap。雖然這個新屬性名稱改了下,顯得語義更準確,但也更容易區別和記憶。另外,在 Chrome和 Safari等WebKit核心的瀏覽器僅支援這個新屬性。因此,雖然換了個好看好用的新名字,但是為了相容性,目前還是乖乖地使用word-wrap 吧。

      下面繼續來嘮嘮這連個屬性的到底有啥區別呢?word-break: break-all和 word-wrap: break-word。首先,兩者長相神似,都有 word,都有break,位置都還一樣,一個有兩個break,一個有兩個word;其次,兩者的功能作用也類似,這兩個宣告都能使連續英文字元換行,那麼它們的區別到底是什麼? 下面給大家舉個例子說明一下:

web前端培訓1

web前端培訓2

web前端培訓3

web前端培訓4

      綜上所述,word-break: break-all;的作用是所有的都換行,很霸道的那種,毫不留情,一點兒空隙都不放過的那種換行,而 word-wrap:break-word則稍微溫柔點兒,帶有一點憐憫之心,如果這一行文字有可以換行的點,如空格之類的,就不打英文單詞或字元的主意了,在這些換行點換行,至於對不對齊、好不好看則不關心,因此,很容易出現一片一片空白區域的情況。

      以上就是word-break和word-wrap屬性區別的介紹了,同學們在開發過程中根據實際情況去選擇即可。

       本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2780470/,如需轉載,請註明出處,否則將追究法律責任。

相關文章