Bootstrap 4 个卡片组中大小不同的卡片
Cards with different sizes in Bootstrap 4 card-group
是否可以在 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>
我认为卡片组的意图是宽度和高度相等(http://v4-alpha.getbootstrap.com/components/card/#groups),但您可以覆盖默认的 Bootstrap 行为以使其像这样工作..
.card-group [class*='col-'] {
float:none;
}
http://codeply.com/go/4WVwRBTyTP
注意:像这样的通配符 CSS 选择器很慢。最好添加一个特殊的 CSS class 来覆盖 card-group
中列的 Bootstrap float:left
行为
更新
现在 BS4 有了 flexbox,不再需要额外的 CSS。只需将 card-group
和 row
设为相同的 div,然后照常使用 col-*
设置宽度即可。但是,使用 card-group
将阻止响应式列换行。
另见 ,正如@Skelly 已经解释的那样,预定义网格 类 (col-md-*
) 不仅要通过 [=13] 设置 width
=].
除了使用网格 类,您还可以直接应用 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>
card layout 的 Bootstrap 4.1 文档目前指出:
For the time being, these layout options are not yet responsive.
然而,正如 所指出的,卡片组现在是 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>
是否可以在 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>
我认为卡片组的意图是宽度和高度相等(http://v4-alpha.getbootstrap.com/components/card/#groups),但您可以覆盖默认的 Bootstrap 行为以使其像这样工作..
.card-group [class*='col-'] {
float:none;
}
http://codeply.com/go/4WVwRBTyTP
注意:像这样的通配符 CSS 选择器很慢。最好添加一个特殊的 CSS class 来覆盖 card-group
float:left
行为
更新
现在 BS4 有了 flexbox,不再需要额外的 CSS。只需将 card-group
和 row
设为相同的 div,然后照常使用 col-*
设置宽度即可。但是,使用 card-group
将阻止响应式列换行。
另见 ,正如@Skelly 已经解释的那样,预定义网格 类 (col-md-*
) 不仅要通过 [=13] 设置 width
=].
除了使用网格 类,您还可以直接应用 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>
card layout 的 Bootstrap 4.1 文档目前指出:
For the time being, these layout options are not yet responsive.
然而,正如 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>