为什么 border-collapse 在 html2pdf 中不起作用?
Why doesn't border-collapse work in html2pdf?
我想创建一个带有 html table 的 pdf,例如:
所以,我创建了这个 html :
<table style="width: 100%; border:2px solid; border-collapse: collapse; padding: 0; margin: 0;">
<tr style="border-bottom: 1px solid;">
<th style="border-left: 1px solid; width: 60%;">Ref produit</th>
<th style="border-left: 1px solid; width: 10%;">Taille</th>
<th style="border-left: 1px solid; width: 10%;">Quantit�</th>
<th style="border-left: 1px solid; width: 10%;">Prix net HT</th>
<th style="border-left: 1px solid; width: 10%;">Montant HT</th>
</tr>
<tr>
<td style="border-left: 1px solid;">BAL100</td>
<td style="border-left: 1px solid; text-align: center;">S</td>
<td style="border-left: 1px solid; text-align: center;">20</td>
<td style="border-left: 1px solid; text-align: center;">22.00</td>
<td style="border-left: 1px solid; text-align: center;">440</td>
</tr>
<tr>
.
.
.
</tr>
</table>
pdf 结果是:
边框消失了!
如果我删除 属性 border-collapse: collapse;
边框出现但结果不合适。
我在 official forum(法语 post)上看到 属性 边框折叠仅适用于标签 table
.所以我不明白为什么我的table没有正常生成。
有什么想法吗?
这是我的 php 生成 pdf
的代码
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($htmlContent);
$html2pdf->Output($path, 'F');
我找到了一个解决方法,如果我用 cellspacing="0"
替换 css 属性 border-collapse: collapse;
结果看起来不错。
<table cellspacing="0" style="width: 100%; border:2px solid;position: relative;">
border-collapse: collapse;
应该将两个相同的相邻边界合并在一起。在 html2pdf 中使用它时,您应该为 border-left
和 border-right
属性设置样式(作为同一事物),它们在折叠时会产生单个边框。另外,防御性地写这个CSS,不承担border-color
属性继承,应该在定义border的时候技术性的指定,比如border: 1px solid black;
我想创建一个带有 html table 的 pdf,例如:
所以,我创建了这个 html :
<table style="width: 100%; border:2px solid; border-collapse: collapse; padding: 0; margin: 0;">
<tr style="border-bottom: 1px solid;">
<th style="border-left: 1px solid; width: 60%;">Ref produit</th>
<th style="border-left: 1px solid; width: 10%;">Taille</th>
<th style="border-left: 1px solid; width: 10%;">Quantit�</th>
<th style="border-left: 1px solid; width: 10%;">Prix net HT</th>
<th style="border-left: 1px solid; width: 10%;">Montant HT</th>
</tr>
<tr>
<td style="border-left: 1px solid;">BAL100</td>
<td style="border-left: 1px solid; text-align: center;">S</td>
<td style="border-left: 1px solid; text-align: center;">20</td>
<td style="border-left: 1px solid; text-align: center;">22.00</td>
<td style="border-left: 1px solid; text-align: center;">440</td>
</tr>
<tr>
.
.
.
</tr>
</table>
pdf 结果是:
边框消失了!
如果我删除 属性 border-collapse: collapse;
边框出现但结果不合适。
我在 official forum(法语 post)上看到 属性 边框折叠仅适用于标签 table
.所以我不明白为什么我的table没有正常生成。
有什么想法吗?
这是我的 php 生成 pdf
的代码$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($htmlContent);
$html2pdf->Output($path, 'F');
我找到了一个解决方法,如果我用 cellspacing="0"
替换 css 属性 border-collapse: collapse;
结果看起来不错。
<table cellspacing="0" style="width: 100%; border:2px solid;position: relative;">
border-collapse: collapse;
应该将两个相同的相邻边界合并在一起。在 html2pdf 中使用它时,您应该为 border-left
和 border-right
属性设置样式(作为同一事物),它们在折叠时会产生单个边框。另外,防御性地写这个CSS,不承担border-color
属性继承,应该在定义border的时候技术性的指定,比如border: 1px solid black;