CSS3中的3W知多少

CSS3中的word-wrap、word-break、white-space想必大家都接触过,今天我们来一起温故而知新。

当我们在网站编辑文章的时候难免会遇到文字过长导致溢出的情况,仔细观察会发现是我们的CSS没加文字截断,然后加上word-break:break-all就搞定了。下面给大家介绍CSS3中控制文字换行的三个属性:

一、word-wrap

1、定义

word-wrap 属性允许长单词或 URL 地址换行到下一行。

2、语法和参数

word-wrap:normal(默认)|break-word normal:允许内容顶开指定的容器边界,如果单词超长,会冲出边界(在当前行显示,不会换行)。 break-word: 内容将在边界内换行,当单词在当前行放不下时,会自动切换到下一行,必要时会触发word-break(注意:请分辨清楚word-break和break-word这俩个是不同的东西,一为属性另为参数)。 注:各个浏览器均能识别。

3、说明

word-wrap是控制是否“为词断行”的,设置或检索当前行超过指定容器的边界时是否断开转行。中文没有任何问题,英文语句也没问题。但是对于长串的英文,就不起作用。

4、例子

congratulation这个单词属于长串英文,word-wrap:break-word整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断,这就是对于长串文字不起作用的解释。word-wrap:normal是默认情况,英文单词不被拆开。

5、总结

作用范围仅为div这类标准块级元素,th,td这类table元素虽然识别但是没有效果(如果为td,th加上宽度word-wrap在IE下是能够发挥效果的,但根据完全兼容性方便记忆角度上来说还是以前面的结论为准)。

二、word-break

1、定义

word-break 属性规定自动换行的处理方法。 提示:通过使用 word-break 属性,可以让浏览器实现在任意位置的换行。

2、语法和参数

word-break: normal(默认)|break-all|keep-all normal:依照亚洲语言和非亚洲语言的文本规则,允许在字内换行:中文则到边界处的汉字换行,英文则整个单词换行,如果出现某个单词长度过长,则会撑破容器,如果边框为固定属性,则后面部分将无法显示。 break-all:可以强行截断英文单词,强行换行。该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本。 keep-all:与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。即如果是中文,将把前后标点符号内的一个汉字短语整个换行,英文单词也整个换行。 注:Firefox、Opera不能识别。

3、说明

word-break:break-all,是断开单词。在单词到边界时,下个字母自动到下一行。主要解决了长串英文的问题(恰恰弥补了上面word-wrap:break-word对于长串文字不起作用的缺陷)。

4、例子

继续以上面congratulation这个单词属于长串英文,word-break:break-all它会把单词截断,该行末端就会变成类似conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。 word-break:keep-all,是指Chinese, Japanese, and Korean不断词。即只用此时,不用word-wrap,中文就不会换行了。(英文语句正常。)

5、总结

作用范围仅为div这类标准块级元素,th,td这类table元素虽然识别但是没有效果(经测试Chrome下word-break:break-all是有效果的,但根据完全兼容性方便记忆角度上来说还是以前面的结论为准)。Firefox,Opera是无法识别word-break的,更不用提Firefox下的th,td中使用word-break的效果了。

三、white-space

1、定义

word-spacing 属性增加或减少单词间的空白(即字间隔)。 该属性定义元素中字之间插入多少空白符。针对这个属性,“字” 定义为由空白符包围的一个字符串。如果指定为长度值,会调整字之间的通常间隔;所以,normal 就等同于设置为 0。允许指定负长度值,这会让字之间挤得更紧。 注释:允许使用负值。

2、语法和参数

white-space:normal | nowrap | pre-wrap | pre-line | inherit normal:默认,空白符会被浏览器忽略。 nowrap:文本不会换行,文本会在在同一行上继续,直到遇到

标签为止。 pre-wrap:保留空白符,但是正常地进行换行。 pre-line:合并空白符,但是保留换行符。 inherit:继承父元素的设置 注:各个浏览器均能识别。

3、说明

对于pre属性,其实就是HTML中连续的多个空白符会被合并,然后为了不让他合并(最常用的场合就是表示代码文字缩进)让其中的空白符继续保留而不需要我们增加额外的样式和标签来控制它的缩进和换行。pre标签的原理也是一样的内部默认有了个white-space:pre。 对于nowrap属性,这个是强制不换行核心,一般强制不换行就是利用这个属性。Firefox的div和td中,以及IE的div中,均没有问题。唯一的瑕疵就是在IE的td中会有一个问题,如果td没有指定宽度,则nowrap仍然有效,如果td有宽度,并且文字中无标点、无空格(例如中文长串文字),nowrap则不再有效。解决方式就是可以加word-break:keep-all;可以解决此问题。

你还在找3W的资料吗,如上可以让你清晰明了掌握它。

如果想要学习更多关于前端的干货,请进我Q群详聊:142991222,我们悄悄说。大家多多支持,多多转发,多多吐糟,才让我更有动力去多多分享。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • 文本换行其实是个非常常用但并不起眼的特性。你什么都不用设,浏览器自动就会换行。例如英语,浏览器会根据容器尺寸,选择...
    张歆琳阅读 8,480评论 1 7
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,733评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,304评论 0 11
  • CSS3新特性中关于文本方面的内容不少,会有两节内容:文字渲染和文本格式。今天来谈谈最复杂的部分——文本格式。今天...
    荷小音阅读 966评论 0 2
  • 前端07班 王 对于table的使用我们会有种先入为主的厌恶。觉得页面中不应该出现表格!其实这只是针对使用HTML...
    ea203453e188阅读 2,703评论 0 5