html - 什么是可破坏的非空白字符

标签 html css browser unicode line-breaks

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

  • 连字符(-)
  • 软连字符 ()
  • 破折号 (-)
  • 长划线 (—)
  • 全 Angular 加号/减号(+/-)
  • 减号 (−)

所以问题......

  • 还有其他角色具有此属性吗?
  • 为什么是这些字符而不是任何其他标点字符(如点、逗号或斜线)?
  • 我知道为什么是连字符和破折号,但为什么是加号和减号而不是乘法(×)?
  • 这种行为在不同浏览器中是否一致?采用 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>

最佳答案

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

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

关于html - 什么是可破坏的非空白字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617959/

相关文章:

jquery - Chrome 浏览器中的 CSS3 转换

c# - 检查(移动)浏览器是否支持背景图片

html - Bootstrap 导航菜单固定底部

css - 右栏不会到达正文底部

html - 电子邮件正文中的嵌入图像在 outlook 中显得更大,但在 gmail 中工作正常

javascript - 发生错误JSPlugin.3005

php - 是否/是否有任何浏览器允许控制流构造在脚本标签中存活?

javascript - 悬停时图像发光

jquery - 如果 Element 有 Class 添加到 Content 中,否则隐藏它

javascript - 单击按钮时隐藏 jquery datepicker