HTML <td>标签中字符间距为什么会变得很宽?

4
我正在处理一张 HTML 表格,但在处理半长文本时出现了问题。如下图所示,第一个单元格的文本“仅绣字”会随着“字符间距”而被拉伸。在“FLOSS”文本中的下一个单元格中也出现了这种情况。
是否有属性可以防止这种行为?我的大部分搜索结果都是关于 table 间距问题,而不是单元格内的文本。表格上唯一与大小相关的属性是 <table width="100%">,我更愿意使用内联属性来解决此问题,但我几乎可以使用任何东西。
请注意,我已尝试过 letter-spacing= "0" 和其他值,但无济于事。它确实修改了间距行为,但在屏幕截图示例中,值为 0 并没有将其更改为正常间距。
我认为这并不重要,但这是通过 BFO 引擎在 NetSuite 环境内转换为 PDF 的 HTML。

table with inconsistent character spacing


2
你可能有 text-align: justify - Marc B
页面中的字母间距问题是在HTML上出现的,还是只有在转换为PDF时才会出现? - Dryden Long
这是我会做的事情。将你的代码放到jsfiddle或codepen中。看看它是否在那里运行(我怀疑不会),然后你就可以确定它是否是CSS问题(我的假设是不是)。然后我的假设是PDF生成器代码是导致你的文本出错的原因。 - Cam
通常我会这样做,但这一切都发生在NetSuite环境中,并且在转换为PDF之前没有生成HTML。然而,我相信你是正确的,PDF生成器弄乱了文本。我删除了所有CSS并放置了一个普通的HTML表格,但仍然出现了同样的问题。 - dah97765
2个回答

5

将其标记为正确,因为它更符合发生的环境。感谢您添加答案。我几年前就问过这个问题,已经忘记了,现在它又帮助我解决了问题。 - dah97765

3

Marc B在评论中提到了这一点,你可能在CSS样式表中为表格设置了text-align: justify;。尝试找到它并将其更改为text-align: left;

例如:

table td {
    text-align: justify;
}

Would want to be changed to:

table td {
    text-align: left;
}

话虽如此,没有查看您当前的标记和CSS很难确定,因此将其添加到您的帖子中可能是一个好主意。


通常我会分享这个标记,但是所有的操作都在NetSuite环境内完成,在被转换成PDF之前不存在生成的HTML。我相信你是对的,PDF生成器搞乱了文本。我删除了所有的CSS并放置一个普通的HTML表格,结果出现了同样的问题。 - dah97765
我将其标记为正确,因为我认为如果不在Netsuite环境中,这将是答案。谢谢。 - dah97765

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接