【问题标题】:DOMPDF: Table align rightDOMPDF:表格右对齐
【发布时间】:2013-11-27 09:58:27
【问题描述】:

我正在尝试使表格在 DOMPDF 中浮动。我正在使用最新版本的 DOMPDF 0.6.0 beta2。在 dompdf_config.inc.php 中,我将 DOMPDF_ENABLE_CSS_FLOAT 设置为 true。这是我的代码模板:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <title>Printed document</title>
</head>
<body>

    <table cellspacing="0" cellpadding="0" style="float:right;" border="1">
        <tr>
            <td style="padding-right:20px;">Property</td>
            <td>Value</td>
        </tr>
        <tr>
            <td style="padding-right:20px;">Property</td>
            <td>Value</td>
        </tr>
    </table>

</body>
</html>

这是生成的 PDF:http://uploads.dennismadsen.com/test.pdf

如何将表格右对齐?此外,为什么 padding-right 不能在列之间腾出空间?

【问题讨论】:

    标签: php dompdf


    【解决方案1】:

    尝试使用&lt;table cellspacing="0" cellpadding="0" align="right" border="1"&gt; 代替样式属性。

    【讨论】:

    • 然后请检查这个 HTML 文件,我在页面上有一个固定的标题(每个页面上的标题相同):link 这导致这个 PDF:link 表格不是不可见的也许是因为溢出:隐藏?如何使表格在标题中右对齐?
    • 移除溢出:隐藏就可以了,但是 td 内部的 padding-right 怎么做一些间距?
    • 我从未使用过 DOMPDF,但为什么不包括一个外部 css,您可以在其中声明对 td 的填充?
    • 如果我像我一样通过外部 css 或内联样式属性添加填充会有什么不同吗?
    • 可能不会,但我不知道 DOMPDF 如何解释代码。你可以试一试。以后查看和管理代码肯定更容易。
    【解决方案2】:

    DOMPDF 0.6.0 beta 2(即使 DOMPDF_ENABLE_CSS_FLOAT 设置为 true)不支持完全浮动。大部分工作都是初步的,不建议用于生产,您可以了解原因。不幸的是,在浮动支持完全实现之前,您尝试生成的布局将是最困难的。

    至于填充问题,这似乎是一个错误。如果您删除 cellspacing 和 cellpadding 值,则将正确应用填充。如果您想对单元格应用 0 填充,您可以通过全局样式执行此操作,特定元素的样式将正确覆盖它。

    【讨论】:

      【解决方案3】:

      我也遇到了同样的问题。

      我只是想指定padding-right:; 独立于填充的其余部分...但我输入了更高的数字。

      IE: table td {padding:3px 5px 3px 5px; padding-right:10px;}
      不知何故......当我生成我的测试 PDF 时它似乎工作......

      如果我输入相同的填充;但是:
      IE: table td {padding:3px 5px 3px 5px; padding-right:5px;}
      然后……不行……

      我也尝试独立输入所有值:
      IE:{padding-top:3px; padding-bottom:3px; padding-left:5px; padding-right:5px;}
      ...和....什么都没有。

      看来你必须输入一个更高的值...也许你想要的双倍。 当我输入其他值时...15px 25px 等。内边距变大了。

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2021-01-15
        • 2012-08-19
        • 1970-01-01
        • 2011-10-26
        • 1970-01-01
        • 2017-03-07
        • 2011-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多