文本折行一般分为两种情况:
CJK(Chinese/Japanese/Korean) 字符和非 CJK 字符。一般非 CJK 字符折行发生在两个单词的空格中间,见下图:
图中文本 “hello world” 包裹容器的宽度为 2rem,但是 hello 并没有被截取成两段,反而是在空格处发生了折行。这种行为也很容易理解——把一个单词拆成两部分,很可能会使单词失去意义,所以只能在空格折行。
CJK 字符,图中为 “你好世界”,则是在 “世”和“界”中间发生了折行,符合设置的 3rem 字符宽度。
控制折行行为的属性
word-break
break-all:用于非 CJK 字符,英文在宽度不足的时候会直接折行,而不是在空格折行
keep-all:用于 CJK 字符,使文本不会发生折行。对于非 CJK 字符,行为和 word-break:normal 一致。
- white-space
- overflow-wrap