目录

CSS 文本内容长度溢出时的处理(换行、滚动、隐藏)

有时文本很长超出 HTML 元素的宽度,可能会出现文本溢出(显示在区域外面,不换行),或不能完整显示的情况。

CSS 中有 3个相关属性可以处理这个问题。
word-break, overflowwhite-space

规定自动换行的处理方法。
word-break: normal|break-all|keep-all;

描述
normal使用浏览器默认的换行规则
break-all允许在单词内换行
keep-all只能在半角空格或连字符处换行

overflow-wrap: anywhere;

规定当内容溢出元素框时发生的事情。
overflow: visible|hidden|scroll|auto|inherit

描述
visible默认值。内容不会被修剪,会呈现在元素框之外
hidden内容会被修剪,并且其余内容是不可见的
scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容
auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容
inherit规定应该从父元素继承 overflow 属性的值

设置如何处理元素内的空白字符
white-space: normal|pre|nowrap|pre-wrap|pre-line|inherit

描述
normal默认。空白会被浏览器忽略。
pre空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
nowrap文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
pre-wrap保留空白符序列,但是正常地进行换行。
pre-line合并空白符序列,但是保留换行符。
inherit规定应该从父元素继承 white-space 属性的值。