12

是否可以在 Bootstrap 4 中的卡片组中混合不同尺寸的卡片。我想在左边有一张大卡片(双倍宽度),右边有两张较小的卡片,三张卡片的高度相同。

<div class="container">
  <div class="row">
    <div class="card-group">
        <div class="card col-md-6">
          <div class="card-block">
            <h4 class="card-title">Card 1</h4>
            <p class="card-text">Text 1</p>
          </div>
        </div>
         <div class="card col-md-3">
          <div class="card-block">
            <h4 class="card-title">Card 2</h4>
            <p class="card-text">Text 2</p>
            <p class="card-text">More text 2</p>
            <p class="card-text">More text 2</p>
          </div>
        </div>
        <div class="card col-md-3">
          <div class="card-block">
            <h4 class="card-title">Card 3</h4>
            <p class="card-text">Text 3</p>
          </div>
        </div>
      </div>
    </div>
  </div>
4

3 回答 3

13

我认为目的是卡片组的宽度和高度相等(http://v4-alpha.getbootstrap.com/components/card/#groups),但是您可以覆盖默认的引导行为以使其像这样工作..

.card-group [class*='col-'] {
  float:none;
}

http://codeply.com/go/4WVwRBTyTP

注意:像这样的通配符 CSS 选择器很慢。最好添加一个特殊的 CSS 类来覆盖float:left您的列中的引导行为card-group

更新

现在 BS4 有了 flexbox,不再需要额外的 CSS。只需制作card-grouprow相同的div,然后col-*照常使用来设置宽度。但是,使用card-group会阻止响应式列换行。

http://www.codeply.com/go/jzIcjyg6Xa

于 2016-03-04T03:53:02.777 回答
7

卡片布局的 Bootstrap 4.1 文档目前指出:

目前,这些布局选项还没有响应。

然而,正如Zim 的回答所指出的,卡片组现在是 flexbox。因此,您还可以覆盖flex-grow样式以设置相对卡片尺寸。

<div class="card-group">
    <div class="card" style="flex-grow: 2">
        <div class="card-block">
            <h4 class="card-title">Card 1</h4>
            <p class="card-text">Text 1</p>
        </div>
    </div>
    <div class="card">
        <div class="card-block">
            <h4 class="card-title">Card 2</h4>
            <p class="card-text">Text 2</p>
            <p class="card-text">More text 2</p>
            <p class="card-text">More text 2</p>
        </div>
    </div>
    <div class="card">
        <div class="card-block">
            <h4 class="card-title">Card 3</h4>
            <p class="card-text">Text 3</p>
        </div>
    </div>
</div>

代码

于 2017-11-09T17:50:12.063 回答
-3

另请参阅https://stackoverflow.com/a/35627731/1596547,正如@Skelly 已经解释的那样,预定义的网格类 ( col-md-*) 不仅设置了widthby 还设置了float.

除了使用网格类,您还可以width直接应用:

    <div class="card-group">
        <div class="card" style="width:50%;">
          <div class="card-block">
            <h4 class="card-title">Card 1</h4>
            <p class="card-text">Text 1</p>
          </div>
        </div>
         <div class="card">
          <div class="card-block">
            <h4 class="card-title">Card 2</h4>
            <p class="card-text">Text 2</p>
            <p class="card-text">More text 2</p>
            <p class="card-text">More text 2</p>
          </div>
        </div>
        <div class="card">
          <div class="card-block">
            <h4 class="card-title">Card 3</h4>
            <p class="card-text">Text 3</p>
          </div>
        </div>
      </div>
于 2016-03-04T19:42:24.090 回答