什么是易碎的非空白字符

时间:2016-06-03 15:14:36

标签: html css browser unicode line-breaks

我发现浏览器(我只测试了Chrome行为)会破坏单词中某些字符的行以防止文本溢出(在标准行为中,因此:word-wrap: normal)。我不考虑可破坏的空格,而是关于这些具体的Unicode字符:

  • 连字符( - )
  • soft hyphen()
  • 破折号( - )
  • 长划线( - )
  • 全宽加/减(+/-)
  • 减去( - )

所以问题......

  • 这个属性还有其他角色吗?
  • 为什么要使用这些字符而不是任何其他标点字符(如点,逗号或斜线)?
  • 我知道为什么连字符和破折号,但为什么加号和减号而不是例如乘(×)?
  • 这种行为在浏览器中是否一致?标准化的HTML / CSS或Unicode?

拥有try

<div style="width: 50px">
veryvery-veryvery-veryvery-veryvery
veryvery–veryvery–veryvery–veryvery
veryvery—veryvery—veryvery—veryvery
veryvery­veryvery­veryvery­veryvery
veryvery−veryvery−veryvery−veryvery
veryvery+veryvery+veryvery+veryvery
long
</div>

1 个答案:

答案 0 :(得分:1)

HTML / CSS文本中断通常发生在&#34; soft wrap opportunities&#34;,但字符呈现此类机会的特定行为未标准化。相反,CSS规范遵循其他文本格式规范(例如语言特定的指南)。

但是,一个流行的通用实现是Unicode Line Breaking Algorithm。该算法使用一组规则检查相邻字符的Unicode属性,以创建,强制或禁止断点。由于角色出现的上下文是相关因素,因此无法提供可以创建中断的单个字符的完整列表。