热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

CSS换行知多少:word-wrap&&word-break&&white-space&&word-spacing

CSS换行知多少:word-wrap&&word-break&&white-space&&word-spacing
word-wrap :

首先提一下,word-wrap 这个 CSS 属性在CSS3中已经被更名为 overflow-wrap,这样语义化也是为了避免与 word-break 混淆;

  • Reference:
    • The overflow-wrap property is used to specify whether or not the browser may break lines within words in order to prevent overflow when an otherwise unbreakable string is too long to fit in its containing box.
    • 这货就是在行尾放不下一个单词的时候,决定单词内部是不是允许换行的家伙;
  • Values:
    • normal:
      • 单词太长,我就换行试下,结果换行以后还长,这货就撂挑子不干了,劳资不给换了,直接暴力地给你戳出来。
    • break-word:
      • 单词太长,就换行,换行以后还是长,咱就再换,老好人,换到你满意;


word-break:

  • Reference :
    • The word-break CSS property is used to specify whether to break lines within words.
    • 这货是用来决定在单词内怎么换行的;
  • Values:
    • Normal:
      • 使用默认的换行规则
    • break-all:
      • 允许任意非CJK(Chinese/Japanese/Korean)文本间的单词断行。
    • keep-all:
      • 不允许CJK(Chinese/Japanese/Korean)文本中的单词换行,只能在半角空格或连字符处换行。非CJK文本的行为实际上和normal一致。


word-wrap:break-word VS word-break:break-all


看到这可能有的小伙伴要爆粗了,“卧槽,尼玛给我看这个是说在这两个货是双胞胎一样一样儿的吗,读少勿骗,辣鸡!”

这俩货自然是不同的,不然 W3C 就不会费劲儿让前者更名改姓来区分二者了。

下面请看图说话:

我们对比#test1 和 #test2 很容易发现其中不同:

break-all 很暴力,管你什么单词,说了是 all,通通换行;

但是相比之下 break-word 就温柔很多了,如果放不下,先看下本行有没有可以换行的地方,比如空格或者 CJK,如果有就放过单词,在该点换行,如果没有在进行词内换行;


white-space:

上文说了,word-wrap:break-word 在进行词内换行之前会确认本行是否存在换行点,其中就包括空格或者回车。

所以又有一个家伙专门控制着空格和回车的宿命:

  空格是否合并 ;

  回车是否解释成折行;

  句子太长是否在空格处折行;

Values:

  normal : 空白会被浏览器忽略;

  pre : 空白会被浏览器保留;

  nowrap : 文本不会换行,直到遇到
标签为止;

  pre-wrap : 保留空白序列,正常的进行换行;

  pre-line : 合并空白序列,保留换行符;

  inherit :继承父元素的特征。


word-spacing:

这哥们儿跟上面几个关系不大,只是长得有点像而已,是设置单词间距的,用法也超级简单:

p{
  word-spacing:30px;
}

看到有木有这感觉 CSS 有那么一点点的小变态呢,没办法,谁叫这玩意儿就是靠积累的呢 ╮(╯_╰)╭



推荐阅读
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文讨论了为什么在main.js中写import不会全局生效的问题,并提供了解决方案。在每一个vue文件中都需要写import语句才能使其生效,而在main.js中写import语句则不会全局生效。本文还介绍了使用Swal和sweetalert2库的示例。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
author-avatar
水_-晶_522
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有