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 在进行词内换行之前会确认本行是否存在换行点,其中就包括空格或者回车。

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

  空格是否合并 ;

  回车是否解释成折行;

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

看到这感觉 CSS 真的有点变态,没办法,这就是个积累的过程;

有电话催了,回家写~



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

时间: 2024-10-22 06:31:46

CSS 换行知多少: word-wrap && word-break && white-space && word-spacing的相关文章

word break和word wrap

默认情况下,如果同一行中某个单词太长了,它就会被默认移动到下一行去: word break(normal | break-all | keep-all):表示断词的方式 word wrap(normal | break-word):表示是否要断词 word wrap break-word   [要断词] 独占一行(默认情况下单词太长就会被换到下一行去,所以就独占一行了)的单词被断开成多行, 默认值normal,则不断词,而是一行显示,超出容器 word break break-all:和上面相比

(转)css换行样式:word-wrap同word-break的区别

以下是引用片段: word-wrap:break-word; overflow:hidden; 而不是 以下是引用片段: word-wrap:break-word; word-break:break-all; 也不是 以下是引用片段: word-wrap:break-word; overflow:auto; 在 IE 下没有任何问题,在 FF 下,长串英文会被遮住超出的内容. word-wrap同word-break的区别 word-wrap: normal Default. Content e

利用html模板生成Word文件(服务器端不需要安装Word)

利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端的方法来实现,经过测试这种方法也是一种不错的选择! 首先自己写一个html网页模板,代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>

java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档

原文:java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档 代码下载地址:http://www.zuidaima.com/share/1550463239670784.htm 可以通过预先设置指定的excel和word模板,通过替换文档里面指定的标志来生成新的excel和word文档.excel的部分只是实现了简单的方法.word部分可以支持word2003和word2007格式.建议word使用07及其以上. 其实excel部分标签和jstl很像,而且支持循环等.word就支

CSS换行2

1.可以使用强制换行符号<br />换行.如果在一个文章里可以在文章需要换行的地方加入<br />即可实现自动换行-常说的小换行,与换行前没有间隔.实例如下图 换行说明图无间隔小换行样式-br使用 2.可以使用<p.>标签来实现大换行.如果在一个文章里需要分段换行形式,可以使用<p>标签来实现换行,但是需要注意的是p标签的用法. 大换行有间隔样式 3.可以使用CSS设置宽度自动换行.我们可以在一个div里,添加一个div并加入css样式,对加入的div设置对

CSS换行文本溢出显示省略号

现代浏览器中使用css可以实现文本溢出,使用 text-overflow: ellipsis;在有些场景下没有效果,这个时候你需要检查应用的场景是是否是块元素,是否有确切的width. 如果是行内元素则需要使用display设置为inline-block; 下面是对a,span等行内元素的使用CSS换行文本溢出显示省略号的比较准确的用法: a,span { overflow: hidden; text-align: center; text-overflow: ellipsis; white-s

C# 导出word文档及批量导出word文档(2)

aspose.word主要是通过把读取出来的数据放到datatable里,在datable里做相应的格式的调整,再导出到word文档里.mvc和webform最后导出的语句略有不同,在mvc的controller,用的是base.File,对应的是FileContentResult,在webform里用的是Response.写法分别为: //在WebForm中,保存文档到流中,使用Response. BinaryWrite输出该文件 var docStream = new MemoryStrea

CSS换行:word-wrap、word-break和text-wrap区别

一.word-wrap:允许对长的不可分割的单词进行分割并换行到下一行.(中英文处理效果一样) word-wrap有两个取值: 1.word-wrap: normal:只在允许的断字点换行(浏览器保持默认处理). 2.word-wrap: break-word:在长单词或 URL 地址内部进行换行.(即在容器末端有长单词不能完全显示,不会截断单词,而是作为整体,自动换行) 1: <!DOCTYPE> 2: <html lang="zh-en"> 3: <h

word:Can&#39;t find the word document templant:WordToRqm.doc

问题:打开word文件时弹出提示 Cannot find the Word template:WordToRqm.dot 原因:安装了power designer. 解决:运行regedit.exe 打开注册表编辑器,定位到:HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\WordToRQM12.Connect 键,    双击右边的“LoadBehavior”,在弹出的修改值对话框中将其值从3改为2,然后关闭注册表编辑器,重新启动