我們知道,本次內(nèi)容主要是“深入了解 word-break:break-all和 word-wrap:break-word的區(qū)別”,這2個(gè)屬性都是屬于CSS3的屬性,在現(xiàn)在很多文本模塊用到很多,故此寫了這篇文章,和大家交流學(xué)習(xí)。首先我們來了解一下word-break這個(gè)屬性,它的語法如下:
```text
word-break: normal;
word-break: break-all;
word-break : keep-all;
```
它的屬性值一共有3個(gè),其中的幾個(gè)屬性值的含義具體解釋如下:
normal:表示默認(rèn)值,即默認(rèn)的的換行規(guī)則。 break-all:表示強(qiáng)行換行,意思就是允許任意非文本間(比如網(wǎng)址類型的等)的單詞斷行。 keep-all: 也表示換行,但不允許文本中的單詞換行,只能在半角空格或連字符處換行。
其中,在這三個(gè)屬性值中,break-all這個(gè)屬性值是所有瀏覽器都支持,但是 keep-all就不這樣了,雖然有一定的發(fā)展和進(jìn)步,但目前移動(dòng)端還不適合使用word-break : keep-all。
好了,現(xiàn)在來說說另外一個(gè)主角——word-wrap來了,其語法如下:
```text
word-wrap : normal;
word-wrap: break-word;
```
其中的幾個(gè)屬性值的含義具體解釋如下: normal:就是默認(rèn)值,就是正常的換行規(guī)則。 break-word:表示一行單詞中實(shí)在沒有其他靠譜的換行點(diǎn)的時(shí)候才進(jìn)行換行。
其實(shí)大家會(huì)發(fā)現(xiàn),word-break和word-wrap其實(shí)是長(zhǎng)得比較像的,而且屬性值也有類似之處,其實(shí)word-wrap屬性也是很有故事的,它之前由于和 word-break長(zhǎng)得太像,難免會(huì)讓人記不住或搞混,所以在CSS3規(guī)范里,這個(gè)屬性的名稱被修改了,叫作 overflow-wrap。雖然這個(gè)新屬性名稱改了下,顯得語義更準(zhǔn)確,但也更容易區(qū)別和記憶。另外,在 Chrome和 Safari等WebKit內(nèi)核的瀏覽器僅支持這個(gè)新屬性。因此,雖然換了個(gè)好看好用的新名字,但是為了兼容性,目前還是乖乖地使用word-wrap 吧。
下面繼續(xù)來嘮嘮這連個(gè)屬性的到底有啥區(qū)別呢?word-break: break-all和 word-wrap: break-word。首先,兩者長(zhǎng)相神似,都有 word,都有break,位置都還一樣,一個(gè)有兩個(gè)break,一個(gè)有兩個(gè)word;其次,兩者的功能作用也類似,這兩個(gè)聲明都能使連續(xù)英文字符換行,那么它們的區(qū)別到底是什么? 下面給大家舉個(gè)例子說明一下:dsdfsfdsfsf
代碼展示1:
```text
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.box{
width: 200px;
height: 200px;
background: orange;
margin: 100px auto;
padding: 20px;
word-break: break-all;
}
</style>
<body>
<div class="box">最近有沒有好聽的音樂推薦的?比如我有一首可以推薦的,可以取QQ音樂搜索或者訪問地址:https://aixuxu.com/index/aixuxu.mp3。</div>
</body>
```
代碼展示2:
```text
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.box{
width: 200px;
height: 200px;
background: orange;
margin: 100px auto;
padding: 20px;
word-wrap: break-word;
}
</style>
<body>
<div class="box">最近有沒有好聽的音樂推薦的?比如我有一首可以推薦的,可以取QQ音樂搜索或者訪問地址:https://aixuxu.com/index/aixuxu.mp3。
</div>
</body>
```
綜上所述,word-break: break-all;的作用是所有的都換行,很霸道的那種,毫不留情,一點(diǎn)兒空隙都不放過的那種換行,而 word-wrap:break-word則稍微溫柔點(diǎn)兒,帶有一點(diǎn)憐憫之心,如果這一行文字有可以換行的點(diǎn),如空格之類的,就不打英文單詞或字符的主意了,在這些換行點(diǎn)換行,至于對(duì)不對(duì)齊、好不好看則不關(guān)心,因此,很容易出現(xiàn)一片一片空白區(qū)域的情況。
這就是這兩個(gè)聲明的區(qū)別所在。此文章供大家交流學(xué)習(xí),文章在內(nèi)容上有參考《CSS世界-張?chǎng)涡瘛芬粫撵`感,歡迎大家交流討論。更多關(guān)于“web前端培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的提升班,高品質(zhì)課程助理你實(shí)現(xiàn)夢(mèng)想。