【问题标题】:Bootstrap Cards Not Following Column Rules不遵循列规则的引导卡
【发布时间】:2020-09-26 22:17:40
【问题描述】:

我的这段代码包含一行引导模板卡:

<div id="row1-cards" class="row mx-5 mt-3 row-cols-1 row-cols-md-2 row-cols-lg-4">

        <div class="card col m-3">
            <img src="..." class="card-img-top" alt="...">
            <div class="card-body">
            </div>
          </div>

          <div class="card col m-3">
            <img src="..." class="card-img-top" alt="...">
            <div class="card-body">
            </div>
          </div>

          <div class="card col m-3">
            <img src="..." class="card-img-top" alt="...">
            <div class="card-body">
            </div>
          </div>

          <div class="card col m-3">
            <img src="..." class="card-img-top" alt="...">
            <div class="card-body">
            </div>
          </div>
    </div>

我希望卡片在大屏幕上显示为 4/行,在中屏幕上显示为 2/行,在小屏幕上显示为 1/行。当我从每张卡上删除边距(m-3 类)时,这非常有效。但是,添加边距后,一张或多张卡片最终会被撞到另一行,如下图所示。我怎样才能在每行中有这些固定数量的卡片,同时仍然允许卡片很好地间隔开?

【问题讨论】:

    标签: html css bootstrap-4 bootstrap-cards


    【解决方案1】:

    当您向列添加侧边距时,引导行的计算会受到干扰,现在该行必须与列一起容纳额外的边距,并且由于此处行的宽度是固定的,因此它将最后一列移动到下一个线。您可以通过在内部容器中使用填充而不是在列上使用边距来实现相同的效果。

    <div id="row1-cards" class="row mx-5 mt-3 row-cols-1 row-cols-md-2 row-cols-lg-4">
    
            <div class="col">
                <div class="card inner-box m-3">
                    <img src="..." class="card-img-top" alt="...">
                    <div class="card-body">
                    </div>
                </div>
            </div>
    
            <div class="col">
                <div class="card inner-box m-3">
                    <img src="..." class="card-img-top" alt="...">
                    <div class="card-body">
                    </div>
                </div>
            </div>
    
            <div class="col">
                <div class="card inner-box m-3">
                    <img src="..." class="card-img-top" alt="...">
                    <div class="card-body">
                    </div>
                </div>
            </div>
    
            <div class="col">
                <div class="card w-100 inner-box m-3">
                    <img src="..." class="card-img-top" alt="...">
                    <div class="card-body">
                    </div>
                </div>
            </div>
    
        </div>
    

    但是您可以从顶部和底部对列应用边距, 希望对您有所帮助!

    【讨论】:

    • 向内部容器添加内边距对卡片的效果与向卡片本身添加内边距的效果相同。即卡片扩展,但每张卡片之间仍然没有我想要的间隙。有什么想法有什么问题吗?
    • 您是否尝试过从当前元素中删除类“card”并将其添加到内部 div 中?比如
      如果它仍然无法正常工作,您能否在 jsfiddle 中复制您的问题并在此处分享其链接,以便我可以检查到底是什么导致问题。谢谢
  • 我会尽快尝试并通知您。感谢您的建议!
  • 成功了!谢谢!如果您将卡片类添加到原始答案的内部 div 中,那就太好了,这样其他人就可以看到问题是如何解决的。
  • 很高兴知道它有效!我还编辑了我对有效答案的原始答案。谢谢。
  • 猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2016-10-23
    • 1970-01-01
    相关资源
    最近更新 更多