我們知道,本次內容主要是“深入了解 word-break:break-all和 word-wrap:break-word的區別”,這2個屬性都是屬于CSS3的屬性,在現在很多文本模塊用到很多,故此寫了這篇文章,和大家交流學習。首先我們來了解一下word-break這個屬性,它的語法如下:
```text
word-break: normal;
word-break: break-all;
word-break : keep-all;
```
它的屬性值一共有3個,其中的幾個屬性值的含義具體解釋如下:
normal:表示默認值,即默認的的換行規則。 break-all:表示強行換行,意思就是允許任意非文本間(比如網址類型的等)的單詞斷行。 keep-all: 也表示換行,但不允許文本中的單詞換行,只能在半角空格或連字符處換行。
其中,在這三個屬性值中,break-all這個屬性值是所有瀏覽器都支持,但是 keep-all就不這樣了,雖然有一定的發展和進步,但目前移動端還不適合使用word-break : keep-all。
好了,現在來說說另外一個主角——word-wrap來了,其語法如下:
```text
word-wrap : normal;
word-wrap: break-word;
```
其中的幾個屬性值的含義具體解釋如下: 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;其次,兩者的功能作用也類似,這兩個聲明都能使連續英文字符換行,那么它們的區別到底是什么? 下面給大家舉個例子說明一下: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;的作用是所有的都換行,很霸道的那種,毫不留情,一點兒空隙都不放過的那種換行,而 word-wrap:break-word則稍微溫柔點兒,帶有一點憐憫之心,如果這一行文字有可以換行的點,如空格之類的,就不打英文單詞或字符的主意了,在這些換行點換行,至于對不對齊、好不好看則不關心,因此,很容易出現一片一片空白區域的情況。
這就是這兩個聲明的區別所在。此文章供大家交流學習,文章在內容上有參考《CSS世界-張鑫旭》一書的靈感,歡迎大家交流討論。更多關于“web前端培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的提升班,高品質課程助理你實現夢想。