我正在尝试在单个表格中放置产品列表,然后将它们并排放置以进行显示。

最初,这些桌子可以像这样堆叠在一起,并适合巨型飞机设计:

http://i.snag.gy/zgBtG.jpg

我希望它们并排堆叠,如下所示:

http://i.snag.gy/g0huA.jpg

但是,当我这样做时,事情会变得有些混乱,桌子也不会停留在巨型设计之内。

这是我的代码:

HTML:



td {
  text-align: center;
  vertical-align: central;
  padding: 5px;
}
.products {
  float: left;
}

<?php // Run a select query to get my latest 6 items // Connect to the MySQL database include "storescripts/connect_to_mysql.php"; $dynamicList="" ; $sql=m ysql_query( "SELECT * FROM products ORDER BY date_added DESC LIMIT 12"); $productCount=m ysql_num_rows($sql);
// count the output amount if ($productCount>0) { while($row = mysql_fetch_array($sql)) { $id = $row["id"]; $product_name = $row["product_name"]; $price = $row["price"]; $date_added = strftime("%b %d, %Y", strtotime($row["date_added"])); $dynamicList .= '
<table class="products" width="220px" border="1"
cellpadding="6">
  <tbody>
    <tr>
      <td>
        <a href="product.php?id=' . $id . '">
          <img width="200px" height="250px" style="border: #CCCCCC 1px solid;" src="http://rapidcodes.co.uk/inventory_images/' . $id . '.jpg" alt="$dynamicTitle">
        </a>
      </td>
    </tr>
    <tr>
      <td><a href="product.php?id=' . $id . '"><strong>' . $product_name . '</strong></a>
      </td>
    </tr>
    <tr>
      <td>£' . $price . '</td>
    </tr>
  </tbody>
</table>'; } } else { $dynamicList = "We have no products listed in our store yet"; } mysql_close(); ?>

<!DOCTYPE html>
<html>

<head>
  <title>Rapid Codes - Get it now!</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="style/style.css">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>

<body>

  <?php include_once( "template_header.php");?>

  <div class="container">

    <div class="jumbotron">
      <p>Newest Additions</p>
      <?php echo $dynamicList; ?>
    </div>

    <div class="row">
      <div class="col-md-3">
        <p>P1</p>
      </div>
      <div class="col-md-3">
        <p>P2</p>
      </div>
      <div class="col-md-3">
        <p>P3</p>
      </div>
      <div class="col-md-3">
        <p>P4</p>
      </div>
      <div class="clearfix visible-lg"></div>
    </div>
    <?php include_once( "template_footer.php");?>
  </div>
</body>

</html>





抱歉,代码混乱。任何帮助将不胜感激。我无法理解这一点。

最佳答案

代替.products { float: left; },尝试.products { display: inline-block; }

浮动元素将它们带出了普通DOM结构(您可以想象这些元素好像它们位于普通DOM之上的不同层中)。在第二张图像中,您可以看到jumbotron较小,因为它无法识别表元素在其中(因为它们现在“漂浮”在了jumbotron上方),因此当它不包含任何内容时,默认为其正常大小。

通过使用display: inline-block,这些元素将保留其块空间,但不会占用它们通常会占用的整个水平空间,而只会占用它们所需的空间,从而可以将其他元素放置在它们旁边。

10-02 19:30