【问题标题】:TCPDF list item marginTCPDF 列表项边距
【发布时间】:2015-02-17 01:07:38
【问题描述】:

在任何地方都找不到。有清单:

<ol>
    <li>Foo</li>
    <li>Bar</li>
    <li>Baz</li>
</ol>

和 CSS:

ul li, ol li{
    margin-bottom: 10px;
}

在浏览器中预览列表时,margin-bottom 被正确解释。不幸的是,TCPDF 不知何故无法识别这种样式(同时识别包含的 css 文件的其他部分)。是否有任何技巧/窍门让它发挥作用?

【问题讨论】:

  • 你试过填充吗? PDF 很烦人。
  • 尝试使用毫米而不是像素? margin-bottom: 25mm;
  • 你试过行高吗?
  • 行高可能会起作用,但在每个列表条目有多行的情况下就不行了。使用毫米作为填充/边距也不起作用。
  • 行高有效?

标签: php pdf pdf-generation tcpdf


【解决方案1】:

我找到了这个答案,不幸的是它并没有帮助解决我的问题。如果您遇到此问题(列表项下的奇怪行间距),您有多种选择:

  1. 使用ul {line-height:0} 删除外部UL 周围的边距。 $pdf-&gt;setHtmlVSpace(array('ul'=&gt;array(0=&gt;array('h'=&gt;0,'n'=&gt;0),1=&gt;array('h'=&gt;0,'n'=&gt;0))));
  2. 在 LI 项目中对我有用的 key 位实际上是在 LI 内使用 &lt;p&gt;。由于某种原因,没有它,间距变得疯狂。有了它 - 它修复了它。 &lt;li&gt;&lt;p&gt;Your content&lt;/p&gt;&lt;/li&gt;

【讨论】:

    【解决方案2】:

    tcpdf 允许为 HTML 标签定义垂直空间,参见 TCPDF Class Documentation 的方法 setHtmlVSpace,使用:

    $pdf->setHtmlVSpace(array(
        'li' => array(
            'h' => 5, // margin in mm
        ) 
    ));
    

    html-Element的名字是key(li),h指定垂直间距

    【讨论】:

    • 请详细说明您发布的代码。通常答案会附带一些解释。
    猜你喜欢
    • 1970-01-01
    • 2012-03-14
    • 2013-06-29
    • 2021-07-13
    • 2011-07-05
    • 2017-08-02
    • 2015-11-21
    • 2013-03-24
    • 2017-12-15
    相关资源
    最近更新 更多