精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深入研究 CSS 文本換行

開發 前端
當文本所在容器的寬度固定時,可以使用 overflow-wrap: break-word; 和 overflow-wrap: anywhere; 來實現文本的自動換行;如果容器寬度為 min-content,就只能使用 overflow-wrap: break-word; 實現文本換行;overflow-wrap: break-word;也可以用于長標點符號的換行。

今天來研究一下 CSS 中的文本換行。正常情況下,在固定寬度的盒子中的中文會自動換行。但是,當遇到非常長的英文單詞或者很長的URL時,文本可能就不會自動換行,而會溢出所在容器。幸運的是,CSS 為我們提供了一些和文本換行相關的屬性;

  • overflow-wrap
  • word-break
  • white-space
  • line-break
  • hyphens

1. overflow-wrap

overflow-wrap 用來說明當一個不能被分開的字符串太長而不能填充其包裹盒時,為防止其溢出,瀏覽器是否允許這樣的單詞中斷換行。其屬性值有以下三種:

overflow-wrap: normal;
overflow-wrap: anywhere;
overflow-wrap: break-word;

(1)normal

屬性值為 normal 將使瀏覽器使用系統的默認換行行為。因此,對于英語和其他相關書寫系統,換行符將出現在空格和連字符處。

從圖中可以看出,段落中有一個很長的單詞溢出了容器,這是系統的默認換行行為。

(2)anywhere

使用值 anywhere 將在字符串之間的任意點來進行中斷,僅當在其行上顯示單詞會導致溢出時,瀏覽器才會中斷該單詞。如果單詞放在其行上時仍然溢出,它將在發生溢出的點處中斷該單詞。

可以看到,使用 overflow-wrap:anywhere 將溢出的單詞分解成文本塊,這樣就可以將其放入容器中。這里文本所在的容器寬度是固定的。

該屬性會影響其所在元素的 min-content 屬性大小計算。當width設置為min-content時很容易看出來:

.break-word {
width: min-content;
overflow-wrap: break-word;
}

.anywhere {
width: min-content;
overflow-wrap: anywhere;
}

效果如下:

可以看到,帶有overflow-wrap:break-word 的元素計算出的 min-content 就像單詞沒有被破壞一樣,因此它的寬度變成了最長單詞的寬度。而帶有 overflow-wrap:anywhere 的元素,由于在任何地方都可能發生中斷,因此 min-content 最終成為單個字符的寬度。

注意,這種行為只有為文本所在容器的寬度設置為min-content時才會發揮作用,如果寬度設置為固定的值,那么anywhere 和 break-word 的表現是一致的。

另外需要注意,目前有些瀏覽器不支持該屬性:

(3)break-word

break-word 屬性表示如果行內沒有多余的地方容納該單詞到結尾,則那些正常的不能被分割的單詞會被強制分割換行。

可以看到,文本在長單詞的某個地方自動換行了。如果文本所在容器設置了固定的寬度,就會在長單詞溢出的地方換行。

(4)瀏覽器兼容性

overflow-wrap 屬性就是原來的word-wrap。word-wrap最初是一個沒有前綴的Microsoft擴展。它不是CSS標準的一部分,盡管大多數瀏覽器都使用word-wrap這個名稱來實現它。根據CSS3規范草案,瀏覽器應將word-wrap視為overflow-wrap屬性的遺留名稱別名,以確保兼容性。

2. word-break

word-break 屬性用于指定怎樣在單詞內進行斷行。我們可以使用該屬性在內容發生溢出的確切位置拆分單詞并將其換行到下一行。下面是 word-break的屬性值:

word-break: normal;
word-break: break-all;
word-break: keep-all;
word-break: break-word;

需要注意,break-word 屬性值已經被棄用,但是由于遺留原因,瀏覽器仍然支持它。指定該屬性與同時使用word-break: normal 和 overflow-wrap: anywhere 的效果是一樣的。

下面就來看看前三個屬性:

(1)normal

將 word-break 屬性的值設置為 normal 將應用默認的斷行規則:

可以看到,設置為 normal 時,和不設置word-break時的效果是一樣的,這就是瀏覽器默認的斷行行為。

(2)break-all

當屬性值為 break-all 時,對于 non-CJK (CJK 指中文/日文/韓文) 的文本,可在任意字符間斷行。

可以看到,長單詞在溢出的位置將剩余的文本進行了換行。使用 break-all 將在英語和其他相關語言系統中發生溢出的確切位置在兩個字符之間斷開一個單詞。但是,它不會對中文、日文和韓文文本應用相同的行為。因為 CJK 書寫系統有自己的應用斷點規則。

(3)keep-all

如果使用值 keep-all,即使內容溢出,瀏覽器也不會將分詞應用于 CJK 文本。應用 keep-all 值的效果與非 CJK 書寫系統的正常效果相同。簡單來說就是,像英語這種 CJK 文本不會斷行,像中文這種 Non-CJK 文本表現同 normal。

(4)瀏覽器兼容性

3. white-space

white-space 屬性是用來設置如何處理元素中的空白。其屬性值如下:

white-space: normal;
white-space: nowrap;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line

下面來看看這些屬性值都有哪些作用。

(1)nowrap

當我們將white-space的值設置為 nowrap 時,可以防止文本自動換行:

可以看到,這里文本并沒有換行,這時文本會在同一行上繼續,直到遇到

標簽為止。

(2)pre

當我們將white-space的值設置為pre時,文本之間的空白會被瀏覽器保留。其行為方式類似 HTML 中的

標簽。

<!-- 這個HTML的格式會導致額外的空白 -->
<p>
What's worse, ignorance or apathy?
I don't know and I don't care.
</p>


<p>What's worse, ignorance or apathy?
I don't know and I don't care.</p>


<pre>What's worse, ignorance or apathy?
I don't know and I don't care.</pre>

樣式設置如下:

p {
white-space: pre;
}

pre {
/* <pre> 會設置 font-family: monospace, 這里將其重置 */
font-family: inherit;
}

顯示效果如下:

(3)瀏覽器兼容性

4. line-break

line-break屬性可以用來處理如何斷開帶有標點符號的中文、日文或韓文文本的行。簡而言之,該屬性可以用來處理過長的標點符號。

(1)anywhere

可以使用 line-break: anywhere 來使長標點符號進行換行:

可以看到,overflow-wrap: break-word 和 line-break:anywhere 能夠保持內容被包含在容器內,但是 word-break: break-all 在有長標點符號時就會發生溢出。

(2)瀏覽器兼容性

5.hyphens

hyphens 屬性告知瀏覽器在換行時如何使用連字符連接單詞。可以完全阻止使用連字符,也可以控制瀏覽器什么時候使用,或者讓瀏覽器決定什么時候使用。其斷字規則由語言決定,因此需要告訴瀏覽器使用哪種語言。這是通過在 HTML 中指定lang屬性來完成的:

<p lang="en">This is just a bit of arbitrary text to show hyphenation in action.</p>

(1)auto

當 hyphens 設置為 auto 時,瀏覽器可以自由地在適當的斷字點自動斷詞:

p {
-webkit-hyphens: auto; / * 用于 Safari */
hyphens: auto;
}

顯示效果如下:

(2)瀏覽器兼容性

6. 總結

  • 當文本所在容器的寬度固定時,可以使用 overflow-wrap: break-word; 和 overflow-wrap: anywhere; 來實現文本的自動換行;如果容器寬度為 min-content,就只能使用 overflow-wrap: break-word; 實現文本換行;overflow-wrap: break-word;也可以用于長標點符號的換行。
  • word-break: break-all; 可以用于文本換行,但是該屬性不能使長標點符號換行;
  • white-space: nowrap; 可以用于防止文本自動換行;
  • line-break: anywhere 可以用于將長標點符號進行換行;
  • hyphens: auto; 可以用于使用連字符連接單詞。

參考:

https://codersblock.com/blog/deep-dive-into-text-wrapping-and-word-breaking/

https://blog.logrocket.com/guide-word-wrap-overflow-wrap-word-break-css/

責任編輯:武曉燕 來源: 前端充電寶
相關推薦

2011-12-15 10:43:20

JavaNIO

2012-10-29 10:30:36

CSSWeb前端display

2012-10-18 09:34:57

CSSdisplayDIV

2011-06-01 10:58:54

Android Service

2010-11-23 16:35:59

MySQL刪除多表數據

2018-12-24 15:00:58

混合云多云云采用

2010-11-18 17:24:27

Oracle旋轉ins

2010-06-21 13:07:14

2009-10-20 10:17:50

綜合布線系統驗收

2022-04-19 08:28:34

main函數

2010-11-26 11:57:35

MySQL結果字符串

2010-05-31 17:45:50

MySQL行鎖

2017-06-06 11:29:23

Java異常研究與分析

2016-01-12 18:04:55

Java異常研究

2013-01-07 13:38:56

Android開發布局長度單位

2021-05-25 09:00:00

Kubernetes容器集群

2023-11-03 08:25:28

數據結構Java

2009-12-08 18:45:17

PHP檢查函數可用

2010-05-19 14:45:46

2009-11-11 13:49:02

路由器技術
點贊
收藏

51CTO技術棧公眾號

欧美hdxxxx| av天堂一区二区三区| 亚洲女娇小黑人粗硬| 欧美午夜激情在线| 一区二区三区四区欧美| 亚洲av少妇一区二区在线观看| 亚洲天堂久久| 国产午夜一区二区| 97超碰人人看| 亚洲欧洲高清| 最新国产成人在线观看| 国产一区在线观| 99re热视频| 国产精品大片| 中文字幕日本欧美| 中文字幕99页| 国产成人免费精品| 午夜久久久久久久久久一区二区| 日韩三级电影免费观看| 亚洲精品国产av| 免费在线观看一区二区三区| 久久久久久久久91| 国产福利在线导航| 图片婷婷一区| 日韩精品一区二区三区在线播放 | 午夜日韩在线| 精品亚洲一区二区三区在线观看 | 三上悠亚久久精品| 欧美高清视频| 久久久国产综合精品女国产盗摄| 成人性色av| 97免费观看视频| 日韩不卡手机在线v区| 高清视频欧美一级| 26uuu成人网| 成人3d动漫在线观看| 亚洲老头老太hd| 久草视频福利在线| 欧州一区二区三区| 51精品国自产在线| 国产一区二区在线免费播放| 少妇淫片在线影院| 亚洲一区二区三区三| 伊人再见免费在线观看高清版| h视频在线免费| 国产午夜精品一区二区三区视频| 久久久婷婷一区二区三区不卡| 亚洲国产精品久久久久久6q| 国产一区二区免费在线| 91久久久在线| 91福利在线观看视频| 日韩国产精品久久久久久亚洲| 91产国在线观看动作片喷水| 精品在线视频观看| 影音先锋日韩资源| 久久久久久久久国产| 麻豆一区产品精品蜜桃的特点| 91精品动漫在线观看| 久久精品人人爽| 欧美第一页在线观看| 亚洲二区三区不卡| 免费91在线视频| 清纯粉嫩极品夜夜嗨av| 韩国久久久久| 午夜精品福利视频| 91精品国产乱码久久久张津瑜| 亚洲精品影院在线观看| 欧美影院在线播放| 欧美性猛交bbbbb精品| 欧美综合国产| 国产精品狼人色视频一区| 欧美一级黄视频| 久久国产三级精品| 亚洲在线观看视频网站| 亚洲精品字幕在线| av成人免费在线观看| 精品国产乱码久久久久软件| 亚洲欧美色视频| 久久久美女艺术照精彩视频福利播放| 欧美性大战久久久久| av女优在线| 中文字幕在线观看不卡| 欧美 日韩 国产精品| av在线小说| 欧美日韩一二三四五区| 色综合天天色综合| 免费观看性欧美大片无片| 精品黑人一区二区三区久久| 黑丝av在线播放| 成人系列视频| 欧美黄网免费在线观看| 国产精品国产三级国产专区52| 另类亚洲自拍| 91香蕉电影院| 婷婷婷国产在线视频| 国产精品网站导航| 97在线国产视频| 91国拍精品国产粉嫩亚洲一区| 在线电影欧美成精品| 中文字幕无码人妻少妇免费| 日韩黄色大片| 国模gogo一区二区大胆私拍| 亚洲午夜无码久久久久| 懂色av中文一区二区三区| 欧美中文娱乐网| 久操av在线| 欧美日韩一区视频| 欲求不满的岳中文字幕| 日本欧美肥老太交大片| 久久久噜噜噜久久久| 日本欧美www| 播五月开心婷婷综合| 亚洲午夜精品久久久久久浪潮| a级片在线免费| 欧美乱熟臀69xxxxxx| 成年人网站免费在线观看| 国模无码一区二区三区| 中文字幕久久久久| 水野朝阳av一区二区三区| 成人一区二区电影| 裸体xxxx视频在线| 亚洲一区二区三区中文字幕 | 国产调教在线观看| 精品91在线| 91久久夜色精品国产网站| 国产中文字幕在线看| 午夜精品爽啪视频| 色哟哟网站在线观看| 91精品国产福利在线观看麻豆| 欧美整片在线观看| 欧美一级特黄aaaaaa| 亚洲免费在线电影| 亚洲精品综合在线观看| 国产成人一区| 97avcom| а√中文在线资源库| 国产精品嫩草影院av蜜臀| 日韩精品视频久久| 欧美一级一片| 91精品国产乱码久久久久久久久 | av不卡免费在线观看| 浴室偷拍美女洗澡456在线| 最新日韩一区| 国产亚洲精品高潮| 国产一级免费视频| 91片黄在线观看| 精品无码国模私拍视频| 亚洲精品一区二区三区中文字幕| 久久中文字幕在线| 国产又粗又猛又色又| 综合av第一页| 天堂av.com| 一个色综合网| 不卡一区二区三区视频| 欧美精品videossex少妇| 欧美videofree性高清杂交| 老女人性淫交视频| 成人中文字幕合集| 精品欧美一区免费观看α√| 欧美一性一交| 欧美在线国产精品| 免费观看成年在线视频网站| 色94色欧美sute亚洲线路二 | 日韩免费中文字幕| 国产免费av高清在线| 欧美色综合网站| 自拍偷拍第9页| 国产精品一级黄| 夜夜添无码一区二区三区| 中文字幕一区二区三区中文字幕| 韩国精品久久久999| 少妇性bbb搡bbb爽爽爽欧美| 色94色欧美sute亚洲13| 影音先锋男人资源在线观看| 国产一区二区在线电影| 香港三级日本三级a视频| 欧美理伦片在线播放| 日本欧美黄网站| 久热国产在线| 亚洲第一男人av| 中文字幕在线观看视频免费| 中文字幕中文字幕一区| av漫画在线观看| 欧美亚洲自偷自偷| 一级二级三级欧美| 东京久久高清| 国产精品电影一区| 26uuu亚洲电影在线观看| 日韩av网站电影| 亚洲影视一区二区| 亚洲成av人片观看| 亚洲一区二区自偷自拍| 国产精品99久久久久久似苏梦涵| 亚洲熟妇国产熟妇肥婆| 91久久夜色精品国产按摩| 国产精品我不卡| 粉嫩91精品久久久久久久99蜜桃| 欧美黑人一区二区三区| 国产youjizz在线| 精品三级在线看| www.五月婷婷.com| 亚洲一区二区精品3399| 亚洲av熟女国产一区二区性色 | 成人三级视频在线观看一区二区| 欧美大片免费| 久久97久久97精品免视看| 理论在线观看| 日韩美女在线视频| 亚洲天堂狠狠干| 精品久久久久久久久中文字幕| sm捆绑调教视频| 久久精品日产第一区二区三区高清版 | 亚洲国产欧美在线成人app | 一区二区视频在线免费| 青草久久视频| 亚洲a∨日韩av高清在线观看| 欲香欲色天天天综合和网| 欧美大胆在线视频| 午夜不卡视频| 伊人激情综合网| 三级理论午夜在线观看| 日韩女优毛片在线| 一区二区三区免费在线视频| 色偷偷成人一区二区三区91| 久久精品免费在线| 日韩毛片一二三区| 日本综合在线观看| 久久久精品蜜桃| 可以直接看的无码av| proumb性欧美在线观看| 一级黄色免费毛片| 精品一区二区三区不卡| 欧美成人黄色网址| 日韩主播视频在线| 热久久精品国产| 亚洲一区免费| 国产一区二区在线视频播放| 一区精品久久| 中文字幕无码精品亚洲资源网久久| 亚洲91视频| 欧美一级免费在线观看| 久久综合成人| 中文字幕中文字幕一区三区| 日本久久综合| 中文字幕色一区二区| 日韩精品久久久久久久电影99爱| 日韩av影视| 欧洲福利电影| 亚洲精品成人久久久998| 欧洲激情综合| 一区二区91美女张开腿让人桶| 不卡中文字幕| 伊人久久大香线蕉成人综合网| 天天久久综合| 免费在线看黄色片| aa级大片欧美三级| 久久久久久久久久久福利| 老牛嫩草一区二区三区日本| 国产视频一区二区三区在线播放| 久久午夜精品| 欧美日韩中文不卡| 极品销魂美女一区二区三区| 亚洲男人天堂2021| 国产成人精品三级| 国产a级黄色片| 2022国产精品视频| 成熟人妻av无码专区| 国产精品每日更新| 蜜臀久久精品久久久用户群体| 洋洋成人永久网站入口| 中文字幕一区二区三区精品 | 欧美日韩一区二区在线免费观看| 久久久水蜜桃av免费网站| 欧美性猛交xxx乱久交| 久久成人久久鬼色| 免费黄色在线播放| 久久看人人爽人人| 日韩精品123区| 亚洲国产视频一区二区| av网站中文字幕| 91麻豆精品国产91| 天天摸天天干天天操| 在线不卡国产精品| 成人影音在线| 国产精品久久久久久久久久新婚 | 日韩欧美一区二区视频在线播放| 国产精品久久久久久| 亚洲精品蜜桃久久久久久| 久久精品男女| 午夜诱惑痒痒网| 91色婷婷久久久久合中文| 制服丨自拍丨欧美丨动漫丨| 亚洲电影在线播放| 国产精品无码一区| 精品国产乱码久久久久久夜甘婷婷 | 激情图片小说一区| 88av在线播放| 中文字幕一区二区三区在线观看| 国产精品二区一区二区aⅴ| 欧美综合色免费| 黄色小视频免费观看| 色诱女教师一区二区三区| wwwww亚洲| 国产在线精品播放| 亚洲宅男网av| 男女日批视频在线观看| 久久精品国产久精国产爱| 97香蕉碰碰人妻国产欧美 | 亚洲国产成人精品综合99| 日韩欧美在线视频免费观看| av网站在线免费看| 爽爽爽爽爽爽爽成人免费观看| 成人黄色动漫| 91日韩久久| 亚欧美无遮挡hd高清在线视频| www.国产区| 99精品国产91久久久久久| 欧美日韩免费一区二区| 欧美日本一区二区三区| 精品乱码一区二区三四区视频| 久久久久久久久久国产| 电影一区中文字幕| 四虎影视永久免费在线观看一区二区三区| 韩日成人av| 无码人妻丰满熟妇区毛片蜜桃精品| 国产精品免费免费| 青青国产在线视频| 日韩电影免费在线观看中文字幕 | 三级网站免费看| 17c精品麻豆一区二区免费| 国产精品自拍第一页| 亚洲欧美激情在线视频| 国产在线88av| 国产精品9999久久久久仙踪林| 欧美一区影院| 久久精品一卡二卡| 亚洲三级在线观看| 91福利免费视频| 久久天天躁狠狠躁老女人| 97久久中文字幕| 欧美 另类 交| 国产在线乱码一区二区三区| 欧美激情精品久久久久久免费| 欧美日韩一区二区三区免费看| av在线免费播放网站| 国产精品高精视频免费| 欧洲毛片在线视频免费观看| 欧美日韩怡红院| 中文字幕不卡的av| 中文字幕日韩三级| 久久精品一区中文字幕| 国产一区二区三区黄网站| 中文字幕日韩精品无码内射| 国产精品正在播放| 久久久一二三区| 精品国产麻豆免费人成网站| 蜜桃视频在线网站| 欧美日韩一区在线观看视频| 七七婷婷婷婷精品国产| 女性裸体视频网站| 日韩一区二区精品在线观看| 黄色污污视频在线观看| 国产精品亚洲一区| 久久99伊人| 极品美妇后花庭翘臀娇吟小说| 欧美一级午夜免费电影| h片在线观看视频免费| 麻豆成人在线播放| 日韩av一级片| 欧美亚洲日本在线| 亚洲精品在线网站| 三级成人黄色影院| 一区二区三区四区国产| 丁香桃色午夜亚洲一区二区三区| 日韩乱码人妻无码中文字幕| 亚洲男人天堂久| 四虎视频在线精品免费网址| 日韩精品一区二区三区四| 久久影院电视剧免费观看| 亚洲图片视频小说| 欧美激情国产日韩精品一区18| 日韩欧美美女在线观看| 性生交免费视频| 一区二区三区日韩| 精品电影在线| 99高清视频有精品视频| 蜜桃伊人久久| 侵犯稚嫩小箩莉h文系列小说| 亚洲福利小视频| 久久久久久一区二区三区四区别墅| 看全色黄大色大片| 久久伊人中文字幕| 国产女人爽到高潮a毛片| 91精品国产高清久久久久久| 国产精品久久久久一区二区三区厕所| 欧亚乱熟女一区二区在线| 欧美喷水一区二区| 国产理论在线| 男人的天堂成人| 久久久国产一区二区三区四区小说|