CSS3 文本溢出

CSS3 新文本属性提供了对文本呈现的更多控制。

处理 CSS3 中的文本溢出

CSS3 引入了几个用于修改文本内容的新属性,但是其中一些属性很长时间都存在。这些属性使你可以精确控制 Web 浏览器上的文本呈现。

隐藏溢出文本

当文本设置为 nowrap 时,文本可能会溢出,例如,如果 white-space 属性的值设置为 nowrap 包含元素,或者单个单词太长而不适合长电子邮件地址。在这种情况下,你可以使用 CSS3 text-overflow 属性来确定溢出的文本内容的显示方式。

你可以显示或剪辑溢出的文本或剪辑,并在剪切文本的位置中显示省略号或自定义字符串以来指示用户。

word-break 属性通过可接受的值是: clipellipsisstring

p {
    width: 400px;
    overflow: hidden;
    white-space: nowrap;
    background: #cdcdcd;
}
p.clipped {
    text-overflow: clip; /* clipped the overflowed text */
}
p.ellipses {
    text-overflow: ellipsis; /* display '…' to represent clipped text */
}

警告: 大多数 Web 浏览器都不支持 text-overflow 属性的 string 值,你应该更好地避免这种情况。

断开溢出文本

你还可以使用 CSS3 word-wrap 属性来断开一个长字并强制它换行溢出包含元素边界的新行。

word-wrap 属性接受的值为: normalbreak-word

p {
    width: 200px;
    background: #ffc4ff;
    word-wrap: break-word;
}

提示: 请查看所有可能值的各个属性参考以及这些 CSS 属性的浏览器支持。

指定断字规则

你还可以使用 CSS3 word-break 属性自行指定文本的换行规则(即如何在单词中断行)。

word-break 属性接受的值为: normalbreak-allkeep-all

p {
    width: 150px;
    padding: 10px;
}
p.break {
    background: #bedb8b;
    word-break: break-all;
}
p.keep {
    background: #f09bbb;
    word-break: keep-all;
}