CSS3中的3W知多少

CSS3中的word-wrap、word-break、white-space想必大家都接觸過,今天我們來一起溫故而知新。

當我們在網(wǎng)站編輯文章的時候難免會遇到文字過長導致溢出的情況,仔細觀察會發(fā)現(xiàn)是我們的CSS沒加文字截斷,然后加上word-break:break-all就搞定了。下面給大家介紹CSS3中控制文字換行的三個屬性:

一、word-wrap

1、定義

word-wrap 屬性允許長單詞或 URL 地址換行到下一行。

2、語法和參數(shù)

word-wrap:normal(默認)|break-word normal:允許內(nèi)容頂開指定的容器邊界,如果單詞超長,會沖出邊界(在當前行顯示,不會換行)。 break-word: 內(nèi)容將在邊界內(nèi)換行,當單詞在當前行放不下時,會自動切換到下一行,必要時會觸發(fā)word-break(注意:請分辨清楚word-break和break-word這倆個是不同的東西,一為屬性另為參數(shù))。 注:各個瀏覽器均能識別。

3、說明

word-wrap是控制是否“為詞斷行”的,設(shè)置或檢索當前行超過指定容器的邊界時是否斷開轉(zhuǎn)行。中文沒有任何問題,英文語句也沒問題。但是對于長串的英文,就不起作用。

4、例子

congratulation這個單詞屬于長串英文,word-wrap:break-word整個單詞看成一個整體,如果該行末端寬度不夠顯示整個單詞,它會自動把整個單詞放到下一行,而不會把單詞截斷,這就是對于長串文字不起作用的解釋。word-wrap:normal是默認情況,英文單詞不被拆開。

5、總結(jié)

作用范圍僅為div這類標準塊級元素,th,td這類table元素雖然識別但是沒有效果(如果為td,th加上寬度word-wrap在IE下是能夠發(fā)揮效果的,但根據(jù)完全兼容性方便記憶角度上來說還是以前面的結(jié)論為準)。

二、word-break

1、定義

word-break 屬性規(guī)定自動換行的處理方法。 提示:通過使用 word-break 屬性,可以讓瀏覽器實現(xiàn)在任意位置的換行。

2、語法和參數(shù)

word-break: normal(默認)|break-all|keep-all normal:依照亞洲語言和非亞洲語言的文本規(guī)則,允許在字內(nèi)換行:中文則到邊界處的漢字換行,英文則整個單詞換行,如果出現(xiàn)某個單詞長度過長,則會撐破容器,如果邊框為固定屬性,則后面部分將無法顯示。 break-all:可以強行截斷英文單詞,強行換行。該行為與亞洲語言的normal相同。也允許非亞洲語言文本行的任意字內(nèi)斷開。該值適合包含一些非亞洲文本的亞洲文本。 keep-all:與所有非亞洲語言的normal相同。對于中文,韓文,日文,不允許字斷開。即如果是中文,將把前后標點符號內(nèi)的一個漢字短語整個換行,英文單詞也整個換行。 注:Firefox、Opera不能識別。

3、說明

word-break:break-all,是斷開單詞。在單詞到邊界時,下個字母自動到下一行。主要解決了長串英文的問題(恰恰彌補了上面word-wrap:break-word對于長串文字不起作用的缺陷)。

4、例子

繼續(xù)以上面congratulation這個單詞屬于長串英文,word-break:break-all它會把單詞截斷,該行末端就會變成類似conra(congratulation的前端部分),下一行為tulation(conguatulation)的后端部分了。 word-break:keep-all,是指Chinese, Japanese, and Korean不斷詞。即只用此時,不用word-wrap,中文就不會換行了。(英文語句正常。)

5、總結(jié)

作用范圍僅為div這類標準塊級元素,th,td這類table元素雖然識別但是沒有效果(經(jīng)測試Chrome下word-break:break-all是有效果的,但根據(jù)完全兼容性方便記憶角度上來說還是以前面的結(jié)論為準)。Firefox,Opera是無法識別word-break的,更不用提Firefox下的th,td中使用word-break的效果了。

三、white-space

1、定義

word-spacing 屬性增加或減少單詞間的空白(即字間隔)。 該屬性定義元素中字之間插入多少空白符。針對這個屬性,“字” 定義為由空白符包圍的一個字符串。如果指定為長度值,會調(diào)整字之間的通常間隔;所以,normal 就等同于設(shè)置為 0。允許指定負長度值,這會讓字之間擠得更緊。 注釋:允許使用負值。

2、語法和參數(shù)

white-space:normal | nowrap | pre-wrap | pre-line | inherit normal:默認,空白符會被瀏覽器忽略。 nowrap:文本不會換行,文本會在在同一行上繼續(xù),直到遇到

標簽為止。 pre-wrap:保留空白符,但是正常地進行換行。 pre-line:合并空白符,但是保留換行符。 inherit:繼承父元素的設(shè)置 注:各個瀏覽器均能識別。

3、說明

對于pre屬性,其實就是HTML中連續(xù)的多個空白符會被合并,然后為了不讓他合并(最常用的場合就是表示代碼文字縮進)讓其中的空白符繼續(xù)保留而不需要我們增加額外的樣式和標簽來控制它的縮進和換行。pre標簽的原理也是一樣的內(nèi)部默認有了個white-space:pre。 對于nowrap屬性,這個是強制不換行核心,一般強制不換行就是利用這個屬性。Firefox的div和td中,以及IE的div中,均沒有問題。唯一的瑕疵就是在IE的td中會有一個問題,如果td沒有指定寬度,則nowrap仍然有效,如果td有寬度,并且文字中無標點、無空格(例如中文長串文字),nowrap則不再有效。解決方式就是可以加word-break:keep-all;可以解決此問題。

你還在找3W的資料嗎,如上可以讓你清晰明了掌握它。

如果想要學習更多關(guān)于前端的干貨,請進我Q群詳聊:142991222,我們悄悄說。大家多多支持,多多轉(zhuǎn)發(fā),多多吐糟,才讓我更有動力去多多分享。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內(nèi)容

  • 文本換行其實是個非常常用但并不起眼的特性。你什么都不用設(shè),瀏覽器自動就會換行。例如英語,瀏覽器會根據(jù)容器尺寸,選擇...
    張歆琳閱讀 8,508評論 1 7
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 1,783評論 0 2
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,325評論 0 11
  • CSS3新特性中關(guān)于文本方面的內(nèi)容不少,會有兩節(jié)內(nèi)容:文字渲染和文本格式。今天來談?wù)勛顝碗s的部分——文本格式。今天...
    荷小音閱讀 990評論 0 2
  • 前端07班 王 對于table的使用我們會有種先入為主的厭惡。覺得頁面中不應(yīng)該出現(xiàn)表格!其實這只是針對使用HTML...
    ea203453e188閱讀 2,719評論 0 5