2013-05-28 68 views
3

我遇到了最新版本的DOMPDF(0.6.0 Beta 3)的一个非常奇怪的问题。我正在使用它为我的网站上的客户创建发票。该设计要求在表格单元格之间有1px的边界。如果我使用黑色或#000作为边框颜色,表格会很好地呈现。但是,当我改变颜色时,例如说#CCC而不是1px边框,边框变为2px。我正在使用border-collapse:折叠,并且我已经把头发拉出了两天。除了颜色,我没有改变其他任何东西,但边框厚度正在改变。是否有其他人遇到这个问题,并知道解决方案是什么或有什么建议?为什么黑色渲染1px边框,但其他颜色渲染为2px边框?帮帮我!DOMPDF表格边框问题

编辑:我也有空的单元格填充 ,因为我读到这可能会导致表的问题,但仍然没有运气。

+0

您可以发布示例HTML文档吗? – BrianS

+0

这基本上只是我的CSS规则。例如:'border:1px solid#000;'产生一条细细的黑线,但是'border:1px solid #ccc;'创建一个2px边框。我无法弄清楚为什么。 – user2389431

+0

我无法使用类似的样式重现该问题。所以这将有助于查看您使用的代码。另外,什么版本的PHP?你有没有考虑更新到最新的代码,你可以从[github](https://github.com/dompdf/dompdf)或[nightly downloader](http://eclecticgeek.com/dompdf)下载它。 – BrianS

回答

5

这可能有帮助。我没有试图重现你的问题,但我知道它帮助解决了我在桌子上遇到的一些问题。 尝试添加这对你的CSS的表:

table { 
    border-collapse: collapse; 
} 

很明显,你可以在CSS中使用适当的选择,而不是定义整个表类。

2

我已经看到了一些改进通过设置边框厚度0.01em

+0

我不得不在边界厚度上使用0.0001em,因为我得到的边界交点只有很少的1个像素分支。我的桌子的角落看起来更像'+ ----------- +'角落,而不是像方角。谢谢你的提示! – Michael

0

我有完全相同的问题。这是由于表格具有自己的边界,并且单元格具有自己的边界。以下是我如何修复它:

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; 
}