DOMPDF表格边框问题
Posted
技术标签:
【中文标题】DOMPDF表格边框问题【英文标题】:DOMPDF table border issue 【发布时间】:2013-05-22 20:10:24 【问题描述】:我在最新版本的 DOMPDF(0.6.0 Beta 3)中遇到了一个非常奇怪的问题。我正在使用它为我网站上的客户创建发票。该设计要求表格单元格之间的边框为 1px。如果我使用黑色或#000 作为边框颜色,表格会很好地呈现。但是,当我更改颜色时,例如说#CCC,而不是 1px 边框,边框变为 2px。我正在使用border-collapse:collapse,我已经为此拉头发2天了。除了颜色,我没有改变其他任何东西,但边框厚度正在改变。有没有其他人遇到过这个问题并知道解决方案是什么或有什么建议?为什么黑色渲染 1px 边框而其他颜色渲染为 2px 边框?救命!
编辑:我也有空单元格填充 
,因为我读到这可能会导致表格出现问题,但仍然没有运气。
【问题讨论】:
你能发布示例 html 文档吗? 基本上就是我的 CSS rules。例如:border:1px solid #000;
产生一条细黑线,但 border:1px solid #ccc;
产生一个 2px 的边框。我不知道为什么。
我无法使用类似的样式重现该问题。因此,查看您正在使用的代码会有所帮助。另外,什么版本的php?有没有考虑更新到最新的代码,可以从github或者nightly downloader下载。
这个问题解决了吗?我正在使用最新版本,并且在使用除黑色以外的任何颜色时,单元格边框宽度呈现更厚的问题。我使用的是 PHP 5.4,CSS 是您的示例“border-bottom: 1px solid #DEDEDE;”中使用的标准 CSS。一旦我将颜色更改为黑色,它们就会呈现为 1px(在 PDF 中可能为 1pt)。
【参考方案1】:
这可能会有所帮助。我没有尝试重现您的问题,但我知道它有助于解决我在使用表格时遇到的一些问题。 尝试将此添加到表格的 CSS 中:
table
border-collapse: collapse;
显然你可以在css中使用合适的选择器而不用定义整个表格类。
【讨论】:
【参考方案2】:我遇到了完全相同的问题。这是由于表格有自己的边框和单元格有自己的边框造成的。这是我修复它的方法:
table
border-left: 0.01em solid #ccc;
border-right: 0;
border-top: 0.01em solid #ccc;
border-bottom: 0;
border-collapse: collapse;
table td,
table th
border-left: 0;
border-right: 0.01em solid #ccc;
border-top: 0;
border-bottom: 0.01em solid #ccc;
【讨论】:
【参考方案3】:如果有人遇到连续多个表格的边框问题
替换这个
table border:collapse;
与
table border-spacing: 0;
Reference link
【讨论】:
【参考方案4】:通过将边框厚度设置为 0.01em,我看到了一些改进
【讨论】:
我不得不在边框厚度上实际使用 0.0001em,因为我得到的边框交叉点只有 1 个像素的小分支。我的桌角看起来更像+-----------+
角而不是方角。感谢您的提示!【参考方案5】:
使用border-spacing: -1px;
而不是border-collapse: collapse;
【讨论】:
以上是关于DOMPDF表格边框问题的主要内容,如果未能解决你的问题,请参考以下文章
HTML 表格:仅在表格标题上有边框,边框折叠:在表格上分开