【问题标题】:How to center html table?如何使html表格居中?
【发布时间】:2010-04-09 16:10:04
【问题描述】:

尝试使用 PHP 和 TCPDF 创建正确的 PDF 文档。

你能帮我吗,如何使用 writeHTML 函数在 TCPDF 中创建和居中表格?

尝试过:

 $html = '

 <div style="margin-left: auto; margin-right: auto; width: 50%">
  <table border="1" width="200" align="center"><tr><td><b>Invoice number: '.$this->xInvoiceNumber.'</b></td></tr></table>
  <br />
  <table border="1" width="200" align="center"><tr><td>'.$this->xClient.'</td></tr></table>
  <br />
 </div>

...但没有运气。

【问题讨论】:

    标签: php html tcpdf


    【解决方案1】:

    您必须制作一个包含 3 列的表格,为每一列设置宽度,并在中间的一列中创建表格。

    <table>
    <tr>
    <td style="width:25%"></td>
    <td style="width:50%"><table><tr><td>Your content</td></tr></table></td>
    <td style="width:25%"></td>
    </tr>
    </table>
    

    我并不为这种方法感到自豪,但它确实有效:)

    【讨论】:

    • 在尝试了一些事情并失败后,我为你感到骄傲,即使你不为自己感到骄傲!它对我有用 - 干得好。
    【解决方案2】:

    好的,所以我不知道我的问题是否有解决方案......

    但是,我确实设法通过使用 writeHTMLCell 函数来解决它,即。

    $this->writeHTMLCell(50, 0, 50, 50, 'cellcontent', 'LRTB', 1, 0, true, 'L'); 
    

    如果有人能找到更好的解决方案,请回复。

    Tnx!

    【讨论】:

      【解决方案3】:

      尝试用这个替换你的开始 div 标签...

      <div style="margin:5px auto; width:50%">
      

      【讨论】:

        【解决方案4】:

        然而,从来没有做过这样的事情,这是您需要将跨浏览器兼容的表格居中的代码

        <div style="text:align:center;">
          <table style="margin:0px auto" border="1" width="200" align="center">
            <tr>
              <td><b>Invoice number: </b></td>
            </tr>
          </table>
          <br />
          <table style="margin:0px auto"border="1" width="200" align="center">
            <tr>
              <td>Client</td>
            </tr>
          </table>
          <br />
        </div>
        

        如果 pdf 支持 css,我建议使用 css 设置 html 元素的样式

        table{
          border:1px solid black;
          margin:0px auto;
          text-align:center;
          width:200px;
        }
        

        希望这会有所帮助!

        【讨论】:

        • 好吧...下一个代码:
          发票编号:123
          发票日期:2010-04-09

          ... text居中,但表格的边框左对齐。另外,如果文本可以在表格中左对齐,那就太好了……但我不知道这是否可能……
        【解决方案5】:

        试试这个代码;它对我有用:

        <table style="width:100%">
          <tr>
            <td style="width:30%">left margin</td>
            <td style="width:40%">
              <table border="1" style="width:100%">
                <thead>
                  <tr>
                    <td style="width:100%" colspan="2"></td>
                  </tr>
                  <tr>
                    <td style="width:40%"><b></b></td>
                    <td style="width:60%"><b></b></td>
                  </tr>
                </thead>
              </table>
            </td>
            <td style="width:30%">rigth margin</td>
          </tr>
        </table>
        

        【讨论】:

        • 您好!请注意,在 Stack Overflow 上发布的问题和答案必须用英文书写。目前正在提议您可能感兴趣的a Spanish Stack Overflow 站点(在它上线之后)。 喂! Como las cabezas para arriba, las preguntas y respuestas publicadas en desbordamiento de pila deben estar escritos en Inglés。 Hay un sitio de desbordamiento español Pila está proponiendo actualmente que usted puede estar interesado en (después de que entre en vigor)
        • 好吧。对不起,只是帮助
        猜你喜欢
        • 2012-02-17
        • 2015-09-30
        • 1970-01-01
        • 2016-06-18
        • 2016-05-11
        • 2012-12-13
        • 2013-08-06
        • 2018-06-18
        相关资源
        最近更新 更多