一文总结 CSS 中的换行问题
最近写业务,同时开发桌面端网页和 App webview 页面,经常被各种文字溢出和省略折磨不堪,每次都要翻一下 MDN 才明白。这里总结下关于换行和省略的所有 CSS 属性。
处理文字换行
先来说一下在通常元素里,CSS 默认对文字的换行方式:
- 连续的空格会合并,html中输入N个连续的空格都会变成一个,除非用
占位;- 换行符会当作一个空格处理,文本的换行基于父元素宽度自动进行软换行;
- CJK(Chinese、Japanese、Korean)字符间可换行,非CJK字符(如英语),不在单词间断开,保持完整。
可以看到默认的处理方式,不能兼顾到所有的使用场景:有时候英语单词可以用连接线来在单词间断行,有时候又需要换行符保持原文的格式。因此 CSS 有许多属性来支持这些文本格式的处理。