Bootstrap:将“卡片”水平对齐为单行

Posted

技术标签:

【中文标题】Bootstrap:将“卡片”水平对齐为单行【英文标题】:Bootstrap: align 'card's horizontally as a single row 【发布时间】:2020-07-02 11:43:45 【问题描述】:

我通过 for 循环连续渲染 4 个项目,问题是在第一行它渲染了 4 个项目,但循环中的其余项目在单独的行中渲染。

代码

<div class="card-group">

    % for item in wt %

          <div class="card my-3 text-white bg-dark mb-3" style="width: 18rem;">

            <img src="/media/item.thumbnail" class="card-img-top" >
            <div class="card-body">
              <h5 class="card-title">item.product_name</h5>
              <p class="card-text">item.thumbnail_desc</p>

              <a href="blog_detail/item.post_id" class="btn btn-primary">View Product</a>


            </div>
          </div>

    % if forloop.counter|divisibleby:4 %
    </div>
    % endif %

   % endfor %

这里我使用的是 bootstrap 和 django 框架...我也使用了“row”类,但它也不能很好地工作

【问题讨论】:

你能改一下你的问题吗? 什么不清楚? 您希望每个项目都在一行中吗? % if forloop.counter|divisibleby:4 % % endif % ...我想在一行中打印 4 个项目,所以它在第一行打印 4 个但不是全部 不,我要单行 4 件商品 【参考方案1】:

它应该自动连续执行 4 次,而无需添加额外的代码:

    % for item in wt %

          <div class="card my-3 text-white bg-dark mb-3" style="width: 18rem;">

            <img src="/media/item.thumbnail" class="card-img-top" >
            <div class="card-body">
              <h5 class="card-title">item.product_name</h5>
              <p class="card-text">item.thumbnail_desc</p>

              <a href="blog_detail/item.post_id" class="btn btn-primary">View Product</a>


            </div>
          </div> 
   % endfor %

如果没有,请尝试使用类“col-md-3”而不是“my-3”。

让我知道这是否有效。

【讨论】:

我发布了正确的答案,请参阅评论,这是造成问题的卡片大小...... my-3 添加了垂直间距,而 col-md-3 帮助使内容居中跨度> 【参考方案2】:

它通过改变卡片的大小并添加forloop的计数器来工作......主要问题是卡片的大小,它不适合容器

<h2 class="my-4 text-white bg-dark">New Arrivals</h2>
            <div class="row">
         % for item in wt %

          <div class="card text-white bg-dark mb-3" style="width: 10rem;">

            <img src="/media/item.thumbnail" class="card-img-top" >
            <div class="card-body">
              <h5 class="card-title">item.product_name</h5>
              <p class="card-text">item.thumbnail_desc</p>

              <a href="detail/item.post_id" class="btn btn-primary">View Product</a>


            </div>
          </div>
                 % if forloop.counter|divisibleby:4 %
    </div>
        <div class="row">
    % endif %

   % endfor %

        </div>

【讨论】:

以上是关于Bootstrap:将“卡片”水平对齐为单行的主要内容,如果未能解决你的问题,请参考以下文章

带有表单 POST 按钮的 Bootstrap 4 卡片 - 无法与卡片底部对齐

Bootstrap 4.0 响应动态网站的每行卡片数

Bootstrap 4 卡片 - 在底部对齐内容

如何将引导卡从水平堆叠到垂直以使其响应?

bootstrap 4 使用每个循环水平排列卡片

水平对齐两个按钮 bootstrap4