首頁  >  文章  >  web前端  >  CSS文字換行word-wrap和word-break的差別

CSS文字換行word-wrap和word-break的差別

yulia
yulia原創
2018-09-10 14:22:092507瀏覽

在工作中,常常會遇到需要給文字換行的情況,換行的方式也有很多,例如:word-wrap,word-break,很多人會想這兩個東西是什麼,不都是換行嗎,有什麼區別呢?也有很多人搞不清楚,只能死記硬背寫一個word-wrap:break-word;word-break:break-all ,這樣的東西來強制斷句。那今天就跟大家聊聊word-wrap和word-break的差別。

word-wrap和word-break的區別

word-break:break-all 和word-wrap:break-word兩種寫法都是讓英文句子在父級寬度不夠的情況下換行。兩個屬性都同樣是讓文字換行,但存在著細微的差別,大部分時候剛接觸到這兩個屬性時會無法區別。

區別:
word-wrap:break-word作用是強制讓文字換行。一般情況下當父級寬度不夠的時候,不管英文單字自動換行是當一整個單字不夠放時,整個單字一起換行到下一行,看似很合理的寫法,但是在有些情況下會出現不可預期的情況。就是當一個英文單字的長度超過了父級容器長度時,英文單字還是會顯示一整個單字而導致超出容器範圍。
還有一種情況是,當遇到一個單字很長時,單字會自動換行,也會使上一行空出很多空間。在這種情況下,IE創造出一種新的屬性,word-break:break-all它強製文字換行,無論一句話到達父級容器寬度時是不是一整個單詞,都會強制換行,使單字斷句,如果碰上一個單字超出父級容器寬度,會使單字斷開並換行。

舉例

1、先不給他任何樣式,可以看出那個超長的單字已經溢出了父級容器

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
   div{width: 200px;border: 1px solid #000;}
  </style>
 </head>
 <body>
  <div>看看这一句话:This paragraph contains a very long word: thisisaveryveryveryveryveryverylongword. The long word will break and wrap to the next line.</div>
 </body>
</html>

效果圖:

CSS文字換行word-wrap和word-break的差別

2、現在我們為他加上word-wrap: break-word,你會發現那個超長的單字將超出的部分顯示在下一行。

word-wrap: break-word;

效果圖:

CSS文字換行word-wrap和word-break的差別

3、接下裡,我們在給他加上word-break: break-all,你會發現將它將上面的空白部分全都補上了。

word-break: break-all;

效果圖:

CSS文字換行word-wrap和word-break的差別

以上主要介紹了word-wrap: break-word和word-break: break-all的用法,以及word- wrap和word-break的差別,看文字不太懂的,可以結合例子和圖片,對比看看他們有什麼不同。

以上是CSS文字換行word-wrap和word-break的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn