【问题标题】:Reduce spacing in HTML output using PHP使用 PHP 减少 HTML 输出中的间距
【发布时间】:2017-06-26 10:59:51
【问题描述】:

这看起来很简单,所以我一定遗漏了一些东西,但是我在减少以下输出中表格行之间的间距时遇到了问题:

  <table align="center" width="100%" cellspacing="100">
                <th width="100px;"></th>
                <tbody id="ajax_res">
                    <?php
                        include 'db_connect.php';
                        $query = "SELECT INSERT_DATE,LINE_TEXT FROM DATA_TAB ORDER BY INSERT_DATE DESC";
                            $result = mysql_query($query);
                            while($row = mysql_fetch_array($result))
                            {
                                $insert_date = $row['INSERT_DATE'];
                                $line_text = $row['LINE_TEXT'];
                                echo  "<tr height='10'><td>".$insert_date."</td>";
                                echo  "<td align='left' width='nowrap' style='padding:0 25px 0 25px;'>".$line_text."</td></tr>";
                            }
                    mysql_close($con);
                ?>
                </tbody>
            </table>

有什么想法吗?

【问题讨论】:

    标签: php html css mysql html-table


    【解决方案1】:

    尝试删除或减少表格的单元格间距:

    <table align="center" width="100%" cellspacing="10">
    

    【讨论】:

      【解决方案2】:

      cellspacing="100" 的使用是导致表格膨胀的原因。


      附带说明,您的 HTML 标签应该使用双引号,而不是单引号,并且您的 TH 标签需要在 TR 标签内。这是我在寻找您的原始问题时想到的。

      <style type="text/css">
          table, tr, td, tbody {
              margin: 0;
              padding: 0;
          }
      
          table {
              width: 100%;
          }
      
          td {
              padding: 5px;
          }
      
          .date {
              text-align: center;
          }
      
          .text {
              text-align: left;
              padding: 0px 25px;
          }
      </style>
      <table>
          <tr>
              <th>Date</th>
              <th>Text</th>
          </tr>
          <tbody id="ajax_res">
      <?php
      include 'db_connect.php';
      $query = 'SELECT INSERT_DATE,LINE_TEXT FROM DATA_TAB ORDER BY INSERT_DATE DESC';
      $result = mysql_query($query);
      while($row = mysql_fetch_array($result)) {
          $insert_date = $row['INSERT_DATE'];
          $line_text = $row['LINE_TEXT'];
          echo
              "\t\t", '<tr>', "\n",
              "\t\t\t", '<td class="date">', $insert_date, '</td>', "\n",
              "\t\t\t", '<td class="text">', $line_text, '</td>', "\n",
              "\t\t", '</tr>', "\n";
      }
      mysql_close($con);
      ?>
          </tbody>
      </table>
      

      【讨论】:

      • 似乎没有修复它——可能是 CSS 问题吗?
      • 如果你把我的代码复制到一个空白的 .htm 文件中,用一些 trs 和 tds 替换 PHP,你会看到它按预期工作。除非有您没有添加到问题中的 CSS,否则我无法提供更多帮助。
      • 只有 CSS 中的相关条目似乎是这样的:table { border-collapse: separate; border-spacing: 10px; }
      • 这会增加一些间距,但不会像 cellspacing 那样多。
      • 我用您的 CSS 创建了一个类并将其应用到表格中。仍然没有修复。完全不知道是什么原因造成的。类不应该仅仅覆盖 CSS 中的任何其他问题吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      • 2011-07-16
      • 2015-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多