長沙教育,大家都知道在CSS3中增加了很多新的屬性,其中word-break和word-wrap就是用來給文本換行使用的,但是兩者有什么區(qū)別很多小伙伴都不是很清楚,今天小千就來告訴你他們究竟有什么不同,應該用在哪里。
word-break
word-break它的屬性值一共有3個,其中的幾個屬性值的含義具體解釋如下:
normal:表示默認值,即默認的的換行規(guī)則。 break-all:表示強行換行,意思就是允許任意非文本間(比如類型的等)的單詞斷行。 keep-all: 也表示換行,但不允許文本中的單詞換行,只能在半角空格或連字符處換行。
其中,在這三個屬性值中,break-all這個屬性值是所有瀏覽器都支持,但是 keep-all就不這樣了,雖然有一定的發(fā)展和進步,但目前移動端還不適合使用word-break : keep-all。
word-wrap
它有兩個屬性值,其中的幾個屬性值的含義具體解釋如下: normal:就是默認值,就是正常的換行規(guī)則。 break-word:表示一行單詞中實在沒有其他靠譜的換行點的時候才進行換行。
其實大家會發(fā)現,word-break和word-wrap其實是長得比較像的,而且屬性值也有類似之處,其實word-wrap屬性也是很有故事的,它之前由于和 word-break長得太像,難免會讓人記不住或搞混,所以在CSS3規(guī)范里,這個屬性的名稱被修改了,叫作 overflow-wrap。雖然這個新屬性名稱改了下,顯得語義更準確,但也更容易區(qū)別和記憶。另外,在 Chrome和 Safari等WebKit內核的瀏覽器僅支持這個新屬性。因此,雖然換了個好看好用的新名字,但是為了兼容性,目前還是乖乖地使用word-wrap 吧。
下面繼續(xù)來嘮嘮這連個屬性的到底有啥區(qū)別呢?word-break: break-all和 word-wrap: break-word。首先,兩者長相神似,都有 word,都有break,位置都還一樣,一個有兩個break,一個有兩個word;其次,兩者的功能作用也類似,這兩個聲明都能使連續(xù)英文字符換行,那么它們的區(qū)別到底是什么? 下面給大家舉個例子說明一下:
綜上所述,word-break: break-all;的作用是所有的都換行,很霸道的那種,毫不留情,一點兒空隙都不放過的那種換行,而 word-wrap:break-word則稍微溫柔點兒,帶有一點憐憫之心,如果這一行文字有可以換行的點,如空格之類的,就不打英文單詞或字符的主意了,在這些換行點換行,至于對不對齊、好不好看則不關心,因此,很容易出現一片一片空白區(qū)域的情況。
以上就是word-break和word-wrap屬性區(qū)別的介紹了,同學們在開發(fā)過程中根據實際情況去選擇即可,后歡迎對web前端開發(fā)感興趣的小伙伴來到參加我們的大前端培訓課程的學習,全程面授確保教學質量,更有全套前端教程視頻可以領取,先到先得。