首頁 >web前端 >css教學 >css中word-wrap和word-break的差別是什麼?

css中word-wrap和word-break的差別是什麼?

PHP中文网
PHP中文网原創
2016-05-16 12:04:312130瀏覽

本章為大家介紹css中css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?和css中word-wrap和word-break的差別是什麼?的差別,有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?和css中word-wrap和word-break的差別是什麼?是什麼,我相信至今還有很多人搞不清,只會死記硬背的寫一個css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:break-word;css中word-wrap和word-break的差別是什麼?:break- all;這樣的東西來強制斷句,又或者是因為這兩個東西實在是太拗口了,長得又差不多,導致連背都很難背下來。

那它們到底是什麼呢?我在mozilla的官方網站上找到如下的解釋:

css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?

css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?

css中word-wrap和word-break的差別是什麼?

css中word-wrap和word-break的差別是什麼?

我們看到兩個解釋中都出現了break lines within words 這樣的詞彙,說明它們都跟單字內斷句又關。然後我們試著翻譯一下上面的兩段英文:

css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:

css的css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼? 屬性用來標示是否允許瀏覽器在單字內進行斷句,這是為了防止當一個字串太長而找不到它的自然斷句點時產生溢出現象。

css中word-wrap和word-break的差別是什麼?:

css的 css中word-wrap和word-break的差別是什麼? 屬性用來標示怎麼樣進行單字內的斷句。

似乎從上面兩個讀著都蛋疼的翻譯中找到了一些區別:css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼? 強調的是是否允許單詞內斷句,而css中word-wrap和word-break的差別是什麼?強調的則是怎麼樣來進行單詞內的斷句。

說到這裡,好像依然不是很明朗,好吧,表達能力差的孩紙真是傷不起啊,只能用些實例來補救了。

首先,何謂單字內斷句?當然這裡指的都是西文單字。

css中word-wrap和word-break的差別是什麼?

這是沒有單字內斷句的情況,我們看到那個單字是在是太長了,所以它溢出了包裹它的容器。

css中word-wrap和word-break的差別是什麼?

這是進行了單字內斷句的情況,就是一個單字被斷作了兩行。

先要明確一點,不加css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?或css中word-wrap和word-break的差別是什麼?的時候,就是瀏覽器預設的時候,如果有一個單字很長,導致一行中剩下的空間已經放不下它時,則瀏覽器會把這個單字挪到下一行去:

css中word-wrap和word-break的差別是什麼?

word..d 這個我們創造出來的單字本來應該緊接在long 後面的,但是long後剩下的空間已經不夠了,而單字預設是不能斷開的,所以瀏覽器就只好把它屈尊下移了。

這個長單字還不算變態的,因為至少它沒有長到超過包裹它的元素的長度,但是如果超過了呢?

css中word-wrap和word-break的差別是什麼?

如果超過了就像前面我們提到過的,它會溢出它的父容器外,因為這時它是不允許被截斷的,那就只能衝出去咯。

這時候css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?就能派上用場了。我們給這段文字加上css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:break-word看看會怎麼樣

css中word-wrap和word-break的差別是什麼?

css中word-wrap和word-break的差別是什麼?

哈哈,你給我滾回去吧,變態的長單字,即使你斷了也無所謂。

這樣,為了防止長單字溢出,就在它的內部斷句了。這就是 css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:break-word 的功能。

在看看css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?的瀏覽器支援情況:

css中word-wrap和word-break的差別是什麼?

很好,幾乎所有瀏覽器都支援。

好吧,現在可以說了,都有了css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?這個東西,那還要 css中word-wrap和word-break的差別是什麼? 來幹嘛鳥?

萬惡的資本家總是想要榨乾勞動者的一切,你看,下圖中的長後面不是還有一段空間嗎,難道就這樣放著?太浪費了。 。 。

css中word-wrap和word-break的差別是什麼?

是啊,long後面那裡足可以放好幾個短的單字了,都是那個臭變態的長單字!

所以ie真的很體貼,不要再罵它啦,考慮到不浪費一點點空間的問題,它創造出了 css中word-wrap和word-break的差別是什麼? 這個東西。現在我們來看看使用 css中word-wrap和word-break的差別是什麼?:break-all; 後面會怎麼樣。

css中word-wrap和word-break的差別是什麼?

css中word-wrap和word-break的差別是什麼?

看看發生什麼事了?那個變態的長字並沒有被挪到下一行,而是直接放在了long後面,然後在父容器的右邊界斷開了。所以,它沒有浪費空間了哦。

再看下css中word-wrap和word-break的差別是什麼?:break-all的瀏覽器支援情況:

css中word-wrap和word-break的差別是什麼?

除了opera外,其他都支援耶(火狐也從不支援改為支持了)!

最開始我們說了,css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼? 是用來決定允不允許單字內斷句的,如果不允許的話長單字就會溢出。最重要的一點是它還是會先嘗試挪到下一行,看看下一行的寬度夠不夠,不夠的話就進行單字內的斷句。

而css中word-wrap和word-break的差別是什麼?:break-all則更變態,因為它斷句的方式非常粗暴,它不會嘗試把長單字移到下一行,而是直接進行單字內的斷句。這也可以解釋為什麼說它的作用是決定用什麼方式來斷句的,那就是--用了css中word-wrap和word-break的差別是什麼?:break-all,就等於使用粗暴方式來斷句了。總之一句話,如果您想更省空間,那就用css中word-wrap和word-break的差別是什麼?:break-all就對了!

但無論如何,單字內的斷句都會對西文的可讀性產生一定的影響,有時候這點就要注意了。

ps:網路上有些文章說,css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:break-word 對長串英文不起作用,其實這是非常錯誤的,css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:break-word照樣能把一個長串英文或數字拆成多行。事實上,css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:break-word與css中word-wrap和word-break的差別是什麼?:break-all共同點是都能把長單字強行斷句,不同點是css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:break-word會先起一個新行來放置長單字,新的行還是放不下這個長單字則會對長單字進行強制斷句;而css中word-wrap和word-break的差別是什麼?:break-all則不會把長單字放在一個新行裡,當這一行放不下的時候就直接強制斷句了。

css程式碼:

.p1{
  background:#000; width:100px; color:#f00; css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?:break-word
}
.p2{
  background:#000; width:100px; color:#f00; margin-top:10px; css中word-wrap和word-break的差別是什麼?:break-all
}

html程式碼: 

<p class="p1" data-mce-style="background: #000; width: 100px; color: #f00; css中word-wrap和css中word-wrap和word-break的差別是什麼?的差別是什麼?: break-word;">
haha 555555555555555555555555555555555
</p>
<p class="p2" data-mce-style="background: #000; width: 100px; color: #f00; margin-top: 10px; css中word-wrap和word-break的差別是什麼?: break-all;">
haha 555555555555555555555555555555555
</p>

以上就是本章的全部內容,大家可以自己動手編譯試

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