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表格边框问题的主要内容,如果未能解决你的问题,请参考以下文章

dompdf中有边框底的问题,我想在中断页面时生成边框底

网页制作中表格边框设置在FireFox下的问题

HTML 表格:仅在表格标题上有边框,边框折叠:在表格上分开

用html编写表格,为啥表格内容与边框的距离这么远,怎么解决这样的问题,请告知代码

excel表格边框不显示的解决方法

如何仅在表格内应用边框?