white-space 同时控制两件事:白字符合并方式、是否允许折行。如果它禁止折行,下面的流程都跳过。
word-break 控制候选断点的规则:
- normal 是默认规则,空格、标点、汉字之间、
等会被视为候选断点。 - auto-phrase 会避免在一些短语中间的空格处插入候选断点。
- break-all 会在所有字符之间全都插入候选断点。
- keep-all 不在汉字之间插入候选断点。
- break-word 比较特殊,它按默认规则插入候选断点,但忽略下面的 overflow-wrap 属性实际值,按 overflow-wrap: anywhere 执行。
overflow-wrap 控制最后的折行算法:
- normal 只在候选断点处考虑折行,如果两个候选断点相距太远就会溢出。
- anywhere 在必要处额外折行来避免溢出。
- break-word 与 anywhere 的区别仅在于 min-content 尺寸计算方式。