我的 HTML 页面包含带有许多负数的表格,例如 –0.25 。8211 是 n 破折号。因为我的文档最终应该成为 epub2,所以不允许使用 javascript。只有xhtml+css。
不幸的是,电子书阅读器和 Chrome 中的打印功能都认为在破折号和零之间换行负数是一个合理的想法,即使之前和/或之后有空格,例如,在桌子。
我需要一个“不间断”破折号?毕竟,也有不可破坏的空间。或者有没有办法指示 css 在整个文档的任何地方都不要破坏这样的负数?(我对此表示怀疑,但不得不问一下。)
当然,我可以将每个负数包装到一个跨度中以防止破坏,但这相当痛苦。从字面上看,当我全部完成时,我的数字 --0.25 必须变成 <span class="nobreak">–0.25</span>。(笑话:这几乎就像 DOS 10 倍放大攻击,4 个字符变成 40 个字符,都是因为我想要负数。)
感谢建议。
/iaw
您可以使用正确的减号 \xe2\x80\x9c\xe2\x88\x92\xe2\x80\x9d (U+2212) 来防止负数损坏。在文本渲染中,浏览器、电子书阅读器和其他软件通常将 EN DASH 和 HYPHEN-MINUS(常见的 Ascii 连字符)视为允许在其后换行,即使紧随其后的是数字。根据 Unicode 换行规则,减号不应导致此问题,并且当今大多数软件都遵循此问题中的这些规则。
\n但是,由于据报道 iOS 平台上的某些软件的行为有所不同,因此您可能仍然希望使用 CSS 来防止问题中提到的换行。然而,通常可以使用更简单的标记,甚至不使用任何添加的标记。具体来说,当数字是单元格的唯一内容时,您可以只编写例如,<td class="nobreak">−0.25</td>而不添加span元素。在极端情况下,如果页面上所有表格中的所有数据单元格都只包含数字,您可以只<td>−0.25</td>在 HTML 和td { white-space: nowrap }CSS 中使用。在不太极端的情况下,您可能可以使用合适的 CSS 选择器,td:nth-child(3)而不需要求助于class属性和类选择器。
在 HTML 中,您可以编写“减号”,就像−您在键入字符时遇到困难或者希望让阅读 HTML 源代码的任何人都清楚使用“减号”一样。