1. 程式人生 > >單詞太長導致自動換行,出現空白區域。——word-wrap和word-break(英文單詞換行)

單詞太長導致自動換行,出現空白區域。——word-wrap和word-break(英文單詞換行)

寫在前面:

在寫頁面的時候,偶爾有時會遇到下圖這兩種情況,一種是單詞過長時會溢位div,一種是直接換行,導致出現空白區域。這兩個情景就需要word-wrap、word-break這兩個屬性出場來解決了。閒話不扯了,本文主要內容有:word-wrap和word-break**屬性介紹,使用方法,他們之間的區別,瀏覽器相容性,demo連結**。需要的朋友可以過來參考下,喜歡的可以點個贊,希望能對大家有所幫助。

應用場景:

屬性的應用場景

word-wrap和word-break是什麼?

在mozilla的官網上找到如下的解釋:

word-wrap的英文解釋

word-break的英文解釋

經過翻譯:word-wrap:

css的 word-wrap 屬性用來標明是否允許

瀏覽器在單詞內進行斷句,這是為了防止當一個字串太長而找不到它的自然斷句點時產生溢位現象。

word-break:

css的 word-break 屬性用來標明怎麼樣進行單詞內的斷句

何謂單詞內斷句?

這個單詞沒有發生單詞內斷句的情況,這個單詞太長了,溢位了容器的範圍。

下面是發生了單詞內斷句的情況例項:

這裡面分別使用了word-wrap:break-word;和word-break:break-all;這裡可以看到,效果是一樣的,下面再說說他們的區別。

word-wrap的屬性介紹

w3c:word-wrap

word-wrap的瀏覽器支援情況:

所有瀏覽器都支援

語法:

/* 二選一 */
word-wrap: normal; word-wrap: break-word;

解析:

normal就是大家平常見得最多的正常的換行規則,break-word如果長單詞超出了一行的長度的話,在一行中有可以換行的標點時就換行,實在沒有可以換行的地方時,才在單詞中間換行。(這句的解析入下圖)

上圖就是:一行中有可以換行的標點時就換行實在沒有可以換行的地方時,才在單詞中間換行

word-break屬性的屬性介紹:

w3c上關於word-break屬性的介紹

瀏覽器支援:

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

語法使用:


/* 預設normal */
word-break: normal;
word-break: break-all;
word-break: keep-all;


解析:幾個關鍵字值的含義如下:
normal
使用預設的換行規則。

break-all
允許任意非CJK(Chinese/Japanese/Korean)文字間的單詞斷行。(這裡是CJK中文,日文,韓文的意思)

keep-all
不允許CJK(Chinese/Japanese/Korean)文字中的單詞換行,只能在半形空格或連字元處換行。非CJK文字的行為實際上和normal一致。(一致性可看下圖的demo效果)

word-break:break-all和word-wrap:break-word之間的區別:

其實可以從上述demo栗子中看出來:

word-break:break-all碰到英文單詞統統都換行,只要到了容器的邊界就會換行,不浪費一點空間,一點空隙都不放過。

而word-wrap:break-word在一行中有可以換行點時就換行實在沒有可以換行的地方時,才在單詞中間換行。

這裡所說的換行點指的是:如空格,或CJK(Chinese/Japanese/Korean)(中文/日文/韓文)之類的,讓這些換行點換行,至於對不對齊,好不好看,則不關心,因此,很容易出現一片一片牛皮癬一樣的空白的情況。

後話:

以上就是本文的內容了,其實大概分清他們的區別,以後碰到這型別問題,知道需要用哪個屬性來解決就好了

最後:因為我經常看不懂別人寫的分享,所以個人寫文比較偏小白,寫的不好之處,歡迎指點。然後就是希望看完的朋友點個喜歡,也可以關注一下我,現在這階段基本上每個月都不會少於十五篇文章(看到乾貨我也會進行分享)。碼字不易,感謝支援!
ps:目前待業,座標北京,求推薦工作。然後希望我寫哪方面的文章可以在底下評論,或者是私信我,雖然寫的不好,但我就當這是記錄自己成長的一種方式咯。(前提是我會了,如果不會我也會記下來,等會了的時候再更出來。)
簡書主頁連結

參考連結:

相關推薦

單詞導致自動出現空白區域——word-wrapword-break英文單詞

寫在前面: 在寫頁面的時候,偶爾有時會遇到下圖這兩種情況,一種是單詞過長時會溢位div,一種是直接換行,導致出現空白區域。這兩個情景就需要word-wrap、word-break這兩個屬性出場來解決了。閒話不扯了,本文主要內容有:word-wrap和word-

table td 內容自動的例項(word-wrapword-break的差異)

參考文件 :   table-layout  : http://www.w3school.com.cn/cssref/pr_tab_table-layout.asp word-wrap 和 word-brak的差異:  http://www.cnblogs.com/2050

不同瀏覽器下word-wrapword-break強制

        我們一般控制換行所用到的CSS屬性一共有三個:word-wrap; word-break; white-space。這三個屬性可以說是專為了文字斷行而創造出來的。首先我們得知道這三個屬性到底是做什麼用地: word-wrap語法:         word-wrap: normal(預設)

有15個人圍成一圈順序排號從第一個人開始報數從1~3報數凡報到3的人退出圈子問最後留下的人 C#版

今天下午,某一同學,問我一面試題,第一做法就是度娘了半天,發現都是c c++ 的   。遂參考邏輯、整理完一C# 版本的,留個小紀念 絕對正宗C# namespace ConsoleApplic

css 單詞溢位容器的解決方法 word-wrapword-break

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

Google翻譯英文翻譯成中文軟體版本V1消除符影響翻譯結果

因為最近看PDF文獻較多,有時候需要將英文文獻翻譯保留檢視,但PDF複製下來的小段落會有很多換行符哇: 舉個例子,隨意複製一段英文: 然後貼上並翻譯: 有沒有發現很多換行符~~,這個操作起來就很暴躁,雖然有一些小的外掛或者有道詞典可以解決,但是這個很不習慣啊, 於是,博主

css樣式對的文字部分顯示滑鼠移上全顯示

style="word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis"   title="要顯示的內容" 例如:<tr   id="mytr"  style="word

URL導致引數被截斷的問題

做Web開發時經常涉及到頁面之間的轉跳,頁面之間的轉跳就會涉及到頁面之間引數的傳遞,通過URL傳遞引數是常用的方法之一,但是微軟說:"Maximum URL length is 2,083 characters in Internet Explorer",也就是說URL

echart橫座標導致座標顯示不完全

在xAxis中加入 axisLabel : { show:true, interval: 0//, // {number}

ListView優化時控制元件報空指標

 FATAL EXCEPTION: main                                   &n

maven+mybatis+mybatis-generator+sql server 2005自動生成程式碼加上自定義分頁外掛批量插入更新外掛

第一步:準備需要的jar包。由於maven只要配置pom.xml就可以從倉庫下載jar包。因此我們首先配置pom.xml。 注意com.microsoft.sqlserver需要自己加入maven倉庫的。 <dependencies> ......

white-space、word-wrapword-break 字母 數字不問題

實現頁面的文字、字母的展示效果的時候,相信大家都會遇到過一些這樣的要求:“文字不能換行,要強制文字一行展示”或者是“字母不會自動換行,需要實現可以自動換行斷句”等等諸如此類的要求,現在就這個文字、字母換不換行的問題,說說這三個css屬性的巧妙運用:white-space、

關於word-wrapword-break的區別

總結如下:word-wrap是控制換行的。使用break-word時,是將強制換行。中文沒有任何問題,英文語句也沒問題。但是對於長串的英文,就不起作用。break-word是控制是否斷詞的。normal是預設情況,英文單詞不被拆開。break-all,是斷開單詞。在單詞到邊界

hdu 3183 A Magic Lamp給一個n位的數從中刪去m個數字使得剩下的數字組成的數最小順序不能變然後輸出

urn scan eight sca query names efi family 題目 1.題目大意是,給你一個1000位的數,要你刪掉m個為,求結果最小數。 思路:在n個位裏面刪除m個位。也就是找出n-m個位組成最小數 所以在區間 [0, m]裏面找

Mac下如何把項目托管到Github上Github Desktop的使用

按鈕 -c 技術分享 差異 我不 tro 老版本 apach 個人 在上一篇中,詳細講解了使用X-code和終端配合上傳代碼的方法,這種方法比較傳統,中間會有坑,英文看起來也費勁,不過Github官方提供了一個Mac版的客戶端,如下圖: 附上下載鏈接:傳送門 下載完成

構建自己計算機的知識體系是自己進入編程學習的第一步寫給自己的話

表單 網頁設計 數據結構 windows 體系 嘗試 感謝 使用 計算   我個人認為不管我去學習什麽新的東西,我肯定先去了解這個新事物的大體輪廓,需要知道的是:這個東西是圓的還是方的?是走的還是爬的?...然後嘗試尋找他的一些內在聯系。之後再選擇這個事物的一方面去深入了解

Android 音視頻深入 十三 OpenSL ES 制作音樂播放器能暫停調整音量附源碼下載

音視頻 OpenSL ES 項目地址https://github.com/979451341/OpenSLAudio OpenSL ES 是基於NDK也就是c語言的底層開發音頻的公開API,通過使用它能夠做到標準化, 高性能,低響應時間的音頻功能實現方法。 這次是使用OpenSL ES來做一個音樂播

word-wrapword-break的區別以及無效情況

OS 自動 class word-wrap 就是 con 整體 tro ace 兩種方法的區別說明: 1,word-break:break-all 例如div寬400px,它的內容就會到400px自動換行,如果該行末端有個英文單詞很長(congratulation等),它會

求兩個數的最大公約數輾轉相除法與更相減損法遞歸叠代

叠代 div 余數 公約數 穩定 log test 算法 復雜度 問題:給出兩個數a和b,求出他們的最大公約數(greatest common divisor)。 解法一:輾轉相除法,又叫歐幾裏得算法。兩個正整數a和b(a>b),他們的最大公約數等於a除以b的余數和b

VS2013下設置git同步出現了錯誤詳細消息: An error was raised by libgit2. Category = Net (Error).”

常見錯誤 username 步驟 lib color microsoft implement repos transport 前言: 這個錯誤耽誤了我數個小時,終於解決,不知道為何VS官方在與github同步上面做得如此麻煩。希望能幫到大家。 出現了錯誤。詳細消息: