HTML 表格(并排)不适合超大屏幕

标签 html css html-table

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

最初, table 像这样堆叠在一起并适合超大屏幕设计:

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; }

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

通过使用display: inline-block,元素保留了它们的 block 空间,但不会像通常那样占用整个水平空间,而是只占用它们需要的空间,这允许其他元素放在他们旁边。

关于HTML 表格(并排)不适合超大屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32466568/

相关文章:

html - 表格后的绝对定位不起作用?

html - HTML 中数字的重音符号(如 ^ 大于 1)

javascript - 我想知道为什么2个变量不能进入js

html - 如何对齐按钮文本顶部而不是中心?

javascript - JavaScript 中文本输入行为中的 onchange 事件在键入时立即注册更改?

javascript - React Router 不显示组件

html - Bootstrap 样式表组织

HTML Outlook 电子邮件中的 CSS 表格列自动宽度

html - 将表格转换为 AutoResize Div

html - 预加载图像队列