我有一些表格,其中包含一些牢不可破的长公式,我想将宽度设置为 100%,并且不再向外延伸,如果需要,只需换行即可。我已经尝试将 word-wrap: break-word
与 width: 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/