html - 表格单元格在连字符处换行

标签 html css

我有一些表格,其中包含一些牢不可破的长公式,我想将宽度设置为 100%,并且不再向外延伸,如果需要,只需换行即可。我已经尝试将 word-wrap: break-wordwidth: 100%; 结合使用并且在大多数情况下这工作正常,除非公式中有连字符(实际上意味着minus),这里它将尝试仅在连字符处断开它,而不是单词中的其他任何地方,即使这会导致表格布局断开并扩展,因为连字符相距很远。

我可以通过使用 table-layout: fixed; 来修复它,但是它使每个表的所有列都具有相同的宽度,这使得它看起来很难看,因为我有一个列有很多文本和其中没有太多文本的列。

是否有一个属性可以禁用连字符换行,甚至可以使用看起来像连字符但不被视为一个字符的字符?

下面是一个问题公式的例子(excel公式):

....
    <td>
      <p class="mono first">=IF(Case_Selected="MEDIUM - BASE CASE",EOMONTH(VLOOKUP(A3,ContractData,3,FALSE),60-1),IF(Case_Selected="LOW",EOMONTH(VLOOKUP(A3,ContractDataLow,3,FALSE),60-1),IF(Case_Selected="HIGH",EOMONTH(VLOOKUP(A3,ContractDataHigh,3,FALSE),60-1),0)))</p>
    </td>
....

mono 类只是使字体等宽,first 删除文本缩进(这是电子书的一部分)。

此单元格只会在 60-1 部分中断,因为我认为它会将其视为带连字符的单词。

最佳答案

每个字符之间的零宽度空格 () 可能会导致每个字符中断。但是,如果这对您很重要,您的文本可能不再可复制粘贴为有效的 Excel 公式;这是一个有点讨厌的 hack。

上面的 hack 没有显示换行符的迹象。如果您希望在出现换行符时出现连字符,请考虑使用软连字符 ­,而不是零宽度空格。软连字符仅在换行符之前可见。

最后,如果您只想避免对减号连字符进行特殊的换行处理,您可以改用减号:。尽管此符号不会导致中断,但它也不会阻止它周围(或其他地方)的空格导致中断,因此您可能需要将它们替换为   来实现你所期望的。此外,它的外观与连字符有些不同,它也可能不适用于复制粘贴。

我没有通过复制粘贴到各种 excel 版本来测试任何符号,所以如果这与你相关,你需要自己检查一下。

关于html - 表格单元格在连字符处换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643800/

相关文章:

javascript - 使引导菜单在加载时可见

javascript - Material 设计网站 MDCTab :interacted event not emitting after activateTab

javascript - 为带有文件夹的网站制作通用的页眉和页脚

css - Swagger json 编辑器 : undefiend Error

html - Bootstrap 按钮的高度随着额外跨度的变化而变化

html - 如何将 border-bottom 应用于最后一个非空 <tr>?

html - 显示带有边框折叠的表格边框

javascript - ScrollTop 在 IE 中不起作用

javascript - 使用 onclick 将 'x' 颜色添加到按钮边框

javascript - 有没有人能够使用 CSS3 在 Chrome 中以横向模式成功打印?