什么是易碎的非空白字符

What are breakable non-whitespace characters

我发现浏览器(我只测试了 Chrome 行为)在单词中的某些字符上换行以防止文本溢出(在标准行为中,因此:word-wrap: normal)。我不考虑易碎的空格,而是考虑这些具体的 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>

HTML/CSS 文本中的中断通常发生在“soft wrap opportunities”处,但字符出现这种机会的具体行为并未标准化。相反,CSS 规范遵循其他文本格式规范(例如特定于语言的准则)。

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