2

word-break: break-all;样式不适用于带有“$”符号的文本。


HTML

<div>
    <span>1234567890098765543331234567899766543</span>
    <hr>
    <span>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$</span>
    <hr>
    <span>etryeuiiosdfghjknmbvcxzxertyuihgtrtyh</span>
</div>

CSS

div {
  width: 30px;
}
span{
  display: inline-block;
  word-break: break-all;
}

这是一个链接:https ://jsfiddle.net/kxakpku0/

4

3 回答 3

4

直接回答您的问题(来自https://www.w3.org/TR/css-text-3/#break-all):

'break-all' 除了'正常'的软换行机会外,任何两个字母之间的行可能会中断('line-break' 属性禁止的情况除外)。不应用连字符。此选项主要用于文本主要使用 CJK 字符和少量非 CJK 摘录的上下文中,并且希望文本更好地分布在每一行上。

我已经用粗体和斜体显示了适当的部分。进一步定义,本规范中的字母是属于 Unicode 中的字母或数字一般类别之一的字符。

在这种情况下,$ 属于 Unicode 字符类别“符号、货币”,因此不是“字母”,因此它只会在软中断机会时中断。

于 2017-04-13T16:22:23.637 回答
0

也许你应该尝试:

word-break: break-word;
于 2017-04-13T16:14:58.460 回答
0

这是word-wrap: break-word;

查看https://www.w3schools.com/cssref/css3_pr_word-wrap.asp

于 2017-04-13T16:01:44.667 回答