【问题标题】:Boostrap 4 - Card deck and different sizesBootstrap 4 - 卡片组和不同尺寸
【发布时间】:2020-08-24 21:00:49
【问题描述】:

我想显示具有相同高度但大小不同的卡片,尊重 Boostrap 的网格。

如果我以卡片组为例:https://jsfiddle.net/sb7t5y3x/,我只希望第一张卡片的大小为 col-6,对我来说最优雅的方式应该是:

<div class="card col-6"> .... </div>

但它不起作用,因为.card-deck &gt; .card 应用了 flex 1。

所以我试着用 col 包裹我的卡片:

<div class="col-6">
    <div class="card"> ... </div>
</div>

但是 col 有填充,卡片有边距,所以我应用了 2 个边距(见 https://jsfiddle.net/applyss/vcgkujxp/,空格不规则)

是否有一种简单的标准方法可以在网格系统中保持相同高度的卡片?

【问题讨论】:

  • 你能发布一个关于你的问题的小提琴吗?
  • 您的第一个解决方案似乎可以满足您的需求,不是吗? jsfiddle.net/kcpzef53
  • @fraggley 不,如果您放置 col-10 示例,它不尊重 Bootstrap 网格。它使它更大一点,但不像网格系统那样
  • 在你的第一个小提琴中我做了&lt;div class="col-md-10 card"&gt;,一切都很好。
  • @SimoneRossaini 你至少试过了吗?

标签: html twitter-bootstrap bootstrap-4


【解决方案1】:

这基本上是bootstrap 4 card-deck containing cards with different width的复制品

你应该使用网格而不是卡片组。

"但是 col 有填充,卡片有边距,所以我有 2 个边距 应用,.. 空格不是 常规”

发生这种情况是因为您没有始终如一地将所有 3 张卡片包装在列中。如果需要,您可以使用spacing utility classes 调整边距或填充。

<div class="container pt-3">
    <div class="row">
        <div class="col-md-6">
            <div class="card h-100">
                <div class="card-body">
                    ..
                </div>
            </div>
        </div>
        <div class="col-md">
            <div class="card h-100">
                <div class="card-body">
                    ..
                </div>
            </div>
        </div>
        <div class="col-md">
            <div class="card h-100">
                <div class="card-body">
                    ..
                </div>
            </div>
        </div>
    </div>
</div>

演示:https://codeply.com/p/hFvvJ63Tef

【讨论】:

  • 看来我不好,我之前没有找到这个答案,谢谢
【解决方案2】:

你想让你的代码变成这样吗?这是一种具有相同高度的简单方法

https://jsfiddle.net/g428dbLs/
height:100%;

【讨论】:

  • 你可以用弹性盒子做得更好
【解决方案3】:

这是一个简单的例子,看起来很奇怪,但所有 div 的高度都和你想要的一样。

.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}
  <script type="text/javascript" src="/js/lib/dummy.js"></script>

    <link rel="stylesheet" type="text/css" href="/css/result-light.css">

      <script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.slim.js"></script>
      <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.css">
      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.js"></script>
      <script type="text/javascript" src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.js"></script>
      <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css">

<div class="container pt-3">
<div class="card-deck">
  <div class="col-md-8  d-flex align-items-stretch">
  <div class="card">
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
      <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    </div>
  </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
      <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    </div>
  </div>
  <div class="card col-6">
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
      <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    </div>
  </div>
</div>
</div>

【讨论】:

  • 正如我在问题中所写,这在第一张卡片上应用了 2 个边距(列的填充 + 卡片的边距),结果不正确
  • 你可以复制类的内容,不想要的内容省略
猜你喜欢
  • 2015-12-31
  • 1970-01-01
  • 2018-08-28
  • 2019-06-02
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
  • 2018-08-06
  • 2020-10-03
相关资源
最近更新 更多