卡片
Bootstrap 的卡片提供了一个灵活且可扩展的内容容器,具有多种变体和选项。
关于
卡片是一个灵活且可扩展的内容容器。它包括页眉和页脚的选项、各种内容、背景颜色以及强大的显示选项。如果您熟悉 Bootstrap 3,卡片将取代我们旧的面板、井和缩略图。这些组件的类似功能可用作卡片的修饰符类。
示例
卡片使用尽可能少的标记和样式构建,但仍然能够提供大量的控制和自定义。使用 flexbox 构建,它们提供简单的对齐,并与其他 Bootstrap 组件很好地融合。默认情况下,它们没有margin
,因此根据需要使用间距实用程序。
下面是一个包含混合内容和固定宽度的基本卡片示例。卡片一开始没有固定宽度,因此它们会自然填充其父元素的整个宽度。这可以通过我们的各种调整大小选项轻松自定义。
<div class="card" style="width: 18rem;">
<img src="..." class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
内容类型
卡片支持各种内容,包括图像、文本、列表组、链接等。以下是支持内容的示例。
正文
卡片的构建块是.card-body
。每当您需要在卡片中填充部分时,请使用它。
<div class="card">
<div class="card-body">
This is some text within a card body.
</div>
</div>
标题、文本和链接
卡片标题通过向<h*>
标签添加.card-title
来使用。同样,通过向<a>
标签添加.card-link
,可以添加链接并将其并排放置。
副标题通过向<h*>
标签添加.card-subtitle
来使用。如果.card-title
和.card-subtitle
项目放置在.card-body
项目中,则卡片标题和副标题将很好地对齐。
<div class="card" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<h6 class="card-subtitle mb-2 text-body-secondary">Card subtitle</h6>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="card-link">Card link</a>
<a href="#" class="card-link">Another link</a>
</div>
</div>
图片
.card-img-top
和 .card-img-bottom
分别设置顶部和底部圆角,以匹配卡片边框。使用 .card-text
,可以向卡片添加文本。.card-text
中的文本也可以使用标准 HTML 标签设置样式。
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
<div class="card" style="width: 18rem;">
<img src="..." class="card-img-top" alt="...">
<div class="card-body">
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
列表组
使用齐平列表组在卡片中创建内容列表。
- 一个项目
- 第二个项目
- 第三个项目
<div class="card" style="width: 18rem;">
<ul class="list-group list-group-flush">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
</div>
- 一个项目
- 第二个项目
- 第三个项目
<div class="card" style="width: 18rem;">
<div class="card-header">
Featured
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
</div>
- 一个项目
- 第二个项目
- 第三个项目
<div class="card" style="width: 18rem;">
<ul class="list-group list-group-flush">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<div class="card-footer">
Card footer
</div>
</div>
万能
混合并匹配多种内容类型以创建所需的卡片,或将所有内容都放入其中。下面显示的是图像样式、块、文本样式和列表组,所有这些都包装在一个固定宽度的卡片中。
<div class="card" style="width: 18rem;">
<img src="..." class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<div class="card-body">
<a href="#" class="card-link">Card link</a>
<a href="#" class="card-link">Another link</a>
</div>
</div>
标题和页脚
在卡片中添加可选标题和/或页脚。
<div class="card">
<div class="card-header">
Featured
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
可以通过将 .card-header
添加到 <h*>
元素来设置卡片标题的样式。
精选
<div class="card">
<h5 class="card-header">Featured</h5>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
一个众所周知的引用,包含在引用元素中。
<div class="card">
<div class="card-header">
Quote
</div>
<div class="card-body">
<blockquote class="blockquote mb-0">
<p>A well-known quote, contained in a blockquote element.</p>
<footer class="blockquote-footer">Someone famous in <cite title="Source Title">Source Title</cite></footer>
</blockquote>
</div>
</div>
<div class="card text-center">
<div class="card-header">
Featured
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
<div class="card-footer text-body-secondary">
2 days ago
</div>
</div>
大小
卡片最初不假定任何特定 width
,因此除非另有说明,否则它们将为 100% 宽度。您可以根据需要使用自定义 CSS、网格类、网格 Sass 混合或实用程序来更改此设置。
使用网格标记
使用网格,根据需要将卡片包装在列和行中。
<div class="row">
<div class="col-sm-6 mb-3 mb-sm-0">
<div class="card">
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="card">
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
</div>
使用实用程序
使用我们少数 可用大小实用程序 来快速设置卡片的宽度。
<div class="card w-75 mb-3">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Button</a>
</div>
</div>
<div class="card w-50">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Button</a>
</div>
</div>
使用自定义 CSS
在样式表或内联样式中使用自定义 CSS 来设置宽度。
<div class="card" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
文本对齐
您可以使用我们的文本对齐类快速更改任何卡片的文本对齐方式,无论是整体还是特定部分。
<div class="card mb-3" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
<div class="card text-center mb-3" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
<div class="card text-end" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
导航
使用 Bootstrap 的导航组件为卡片标题(或块)添加一些导航。
<div class="card text-center">
<div class="card-header">
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item">
<a class="nav-link active" aria-current="true" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
<div class="card text-center">
<div class="card-header">
<ul class="nav nav-pills card-header-pills">
<li class="nav-item">
<a class="nav-link active" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
图像
卡片包含一些用于处理图像的选项。选择在卡片的任一端附加“图像标题”,用卡片内容覆盖图像,或简单地将图像嵌入到卡片中。
图像标题
类似于标题和页脚,卡片可以包含顶部和底部的“图像标题”——卡片顶部或底部的图像。
卡片标题
这是一张较宽的卡片,下面有支持文本,作为附加内容的自然引线。此内容稍微长一些。
上次更新于 3 分钟前
卡片标题
这是一张较宽的卡片,下面有支持文本,作为附加内容的自然引线。此内容稍微长一些。
上次更新于 3 分钟前
<div class="card mb-3">
<img src="..." class="card-img-top" alt="...">
<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 content is a little bit longer.</p>
<p class="card-text"><small class="text-body-secondary">Last updated 3 mins ago</small></p>
</div>
</div>
<div class="card">
<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 content is a little bit longer.</p>
<p class="card-text"><small class="text-body-secondary">Last updated 3 mins ago</small></p>
</div>
<img src="..." class="card-img-bottom" alt="...">
</div>
图像覆盖
将图像变成卡片背景并覆盖卡片文本。根据图像的不同,您可能需要或不需要额外的样式或实用程序。
<div class="card text-bg-dark">
<img src="..." class="card-img" alt="...">
<div class="card-img-overlay">
<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 content is a little bit longer.</p>
<p class="card-text"><small>Last updated 3 mins ago</small></p>
</div>
</div>
水平
使用网格和实用程序类的组合,可以以移动友好且响应式的方式使卡片水平。在下面的示例中,我们使用 .g-0
删除网格间隙,并使用 .col-md-*
类在 md
断点处使卡片水平。根据您的卡片内容,可能需要进一步调整。
卡片标题
这是一张较宽的卡片,下面有支持文本,作为附加内容的自然引线。此内容稍微长一些。
上次更新于 3 分钟前
<div class="card mb-3" style="max-width: 540px;">
<div class="row g-0">
<div class="col-md-4">
<img src="..." class="img-fluid rounded-start" alt="...">
</div>
<div class="col-md-8">
<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 content is a little bit longer.</p>
<p class="card-text"><small class="text-body-secondary">Last updated 3 mins ago</small></p>
</div>
</div>
</div>
</div>
卡片样式
卡片包含各种选项,用于自定义其背景、边框和颜色。
背景和颜色
在 v5.2.0 中添加使用我们的 .text-bg-{color}
帮助程序设置具有对比前景色 color
的 background-color
。以前,需要手动配对您选择的 .text-{color}
和 .bg-{color}
实用程序进行样式设置,如果您愿意,您仍然可以使用它们。
主要卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
次要卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
成功卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
危险卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
警告卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
信息卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
浅色卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
深色卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
<div class="card text-bg-primary mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Primary card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-bg-secondary mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Secondary card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-bg-success mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Success card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-bg-danger mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Danger card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-bg-warning mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Warning card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-bg-info mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Info card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-bg-light mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Light card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-bg-dark mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Dark card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
.visually-hidden
类隐藏的附加文本)包含。
边框
使用 边框实用程序 仅更改卡片的 border-color
。请注意,您可以将 .text-{color}
类放在父级 .card
或卡片内容的子集上,如下所示。
主要卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
次要卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
成功卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
危险卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
警告卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
信息卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
浅色卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
深色卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
<div class="card border-primary mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body text-primary">
<h5 class="card-title">Primary card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card border-secondary mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body text-secondary">
<h5 class="card-title">Secondary card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card border-success mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body text-success">
<h5 class="card-title">Success card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card border-danger mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body text-danger">
<h5 class="card-title">Danger card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card border-warning mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Warning card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card border-info mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Info card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card border-light mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Light card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card border-dark mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Dark card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
混合实用程序
您还可以根据需要更改卡片标题和页脚上的边框,甚至可以使用 .bg-transparent
删除其 background-color
。
成功卡片标题
一些快速示例文本,用于构建卡片标题并构成卡片内容的主体。
<div class="card border-success mb-3" style="max-width: 18rem;">
<div class="card-header bg-transparent border-success">Header</div>
<div class="card-body text-success">
<h5 class="card-title">Success card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
<div class="card-footer bg-transparent border-success">Footer</div>
</div>
卡片布局
除了对卡片中的内容进行样式设置外,Bootstrap 还包含一些用于排列一系列卡片的选项。目前,这些布局选项尚未响应。
卡片组
使用卡片组将卡片渲染为单个附加元素,具有相等的宽度和高度列。卡片组开始堆叠并使用 display: flex;
从 sm
断点开始以统一尺寸附加。
卡片标题
这是一张较宽的卡片,下面有支持文本,作为附加内容的自然引线。此内容稍微长一些。
上次更新于 3 分钟前
卡片标题
此卡片下方有支持文本,作为附加内容的自然引线。
上次更新于 3 分钟前
卡片标题
这是一张更宽的卡片,下方有支持文本,作为附加内容的自然引语。此卡片的内容比第一个卡片的内容更长,以显示相等高度的动作。
上次更新于 3 分钟前
<div class="card-group">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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 content is a little bit longer.</p>
<p class="card-text"><small class="text-body-secondary">Last updated 3 mins ago</small></p>
</div>
</div>
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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-body-secondary">Last updated 3 mins ago</small></p>
</div>
</div>
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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-body-secondary">Last updated 3 mins ago</small></p>
</div>
</div>
</div>
当使用带有页脚的卡片组时,其内容将自动对齐。
卡片标题
这是一张较宽的卡片,下面有支持文本,作为附加内容的自然引线。此内容稍微长一些。
卡片标题
此卡片下方有支持文本,作为附加内容的自然引线。
卡片标题
这是一张更宽的卡片,下方有支持文本,作为附加内容的自然引语。此卡片的内容比第一个卡片的内容更长,以显示相等高度的动作。
<div class="card-group">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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 content is a little bit longer.</p>
</div>
<div class="card-footer">
<small class="text-body-secondary">Last updated 3 mins ago</small>
</div>
</div>
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
<div class="card-footer">
<small class="text-body-secondary">Last updated 3 mins ago</small>
</div>
</div>
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
<div class="card-footer">
<small class="text-body-secondary">Last updated 3 mins ago</small>
</div>
</div>
</div>
网格卡片
使用 Bootstrap 网格系统及其 .row-cols
类 来控制每行显示多少网格列(环绕您的卡片)。例如,这里有 .row-cols-1
将卡片布局在一列上,而 .row-cols-md-2
将四张卡片平均分成多行,从中等断点开始。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。此内容稍长一些。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。此内容稍长一些。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。此内容稍长一些。
<div class="row row-cols-1 row-cols-md-2 g-4">
<div class="col">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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.</p>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
</div>
</div>
</div>
将其更改为 .row-cols-3
,您将看到第四张卡片换行。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。此内容稍长一些。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。此内容稍长一些。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。此内容稍长一些。
<div class="row row-cols-1 row-cols-md-3 g-4">
<div class="col">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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.</p>
</div>
</div>
</div>
<div class="col">
<div class="card">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
</div>
</div>
</div>
当您需要相等的高度时,将 .h-100
添加到卡片中。如果您希望默认情况下具有相等的高度,则可以在 Sass 中设置 $card-height: 100%
。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。此内容稍长一些。
卡片标题
这是一张短卡片。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。
卡片标题
这是一张更长的卡片,下方有支持文本,作为附加内容的自然引语。此内容稍长一些。
<div class="row row-cols-1 row-cols-md-3 g-4">
<div class="col">
<div class="card h-100">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
</div>
</div>
<div class="col">
<div class="card h-100">
<img src="..." class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This is a short card.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100">
<img src="..." class="card-img-top" alt="...">
<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.</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
</div>
</div>
</div>
就像卡片组一样,卡片页脚将自动对齐。
卡片标题
这是一张较宽的卡片,下面有支持文本,作为附加内容的自然引线。此内容稍微长一些。
卡片标题
此卡片下方有支持文本,作为附加内容的自然引线。
卡片标题
这是一张更宽的卡片,下方有支持文本,作为附加内容的自然引语。此卡片的内容比第一个卡片的内容更长,以显示相等高度的动作。
<div class="row row-cols-1 row-cols-md-3 g-4">
<div class="col">
<div class="card h-100">
<img src="..." class="card-img-top" alt="...">
<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 content is a little bit longer.</p>
</div>
<div class="card-footer">
<small class="text-body-secondary">Last updated 3 mins ago</small>
</div>
</div>
</div>
<div class="col">
<div class="card h-100">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
<div class="card-footer">
<small class="text-body-secondary">Last updated 3 mins ago</small>
</div>
</div>
</div>
<div class="col">
<div class="card h-100">
<img src="..." class="card-img-top" alt="...">
<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>
</div>
<div class="card-footer">
<small class="text-body-secondary">Last updated 3 mins ago</small>
</div>
</div>
</div>
</div>
砌体
在 v4
中,我们使用仅 CSS 的技术来模仿类似 砌体 的列的行为,但此技术带来了许多令人不快的 副作用。如果您希望在 v5
中拥有这种类型的布局,则只需使用砌体插件即可。砌体不包含在 Bootstrap 中,但我们制作了一个 演示示例 来帮助您入门。
CSS
变量
在 v5.2.0 中添加作为 Bootstrap 不断发展的 CSS 变量方法的一部分,卡片现在在 .card
上使用本地 CSS 变量,以增强实时自定义。CSS 变量的值通过 Sass 设置,因此 Sass 自定义仍然受支持。
--#{$prefix}card-spacer-y: #{$card-spacer-y};
--#{$prefix}card-spacer-x: #{$card-spacer-x};
--#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};
--#{$prefix}card-title-color: #{$card-title-color};
--#{$prefix}card-subtitle-color: #{$card-subtitle-color};
--#{$prefix}card-border-width: #{$card-border-width};
--#{$prefix}card-border-color: #{$card-border-color};
--#{$prefix}card-border-radius: #{$card-border-radius};
--#{$prefix}card-box-shadow: #{$card-box-shadow};
--#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};
--#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};
--#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};
--#{$prefix}card-cap-bg: #{$card-cap-bg};
--#{$prefix}card-cap-color: #{$card-cap-color};
--#{$prefix}card-height: #{$card-height};
--#{$prefix}card-color: #{$card-color};
--#{$prefix}card-bg: #{$card-bg};
--#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};
--#{$prefix}card-group-margin: #{$card-group-margin};
Sass 变量
$card-spacer-y: $spacer;
$card-spacer-x: $spacer;
$card-title-spacer-y: $spacer * .5;
$card-title-color: null;
$card-subtitle-color: null;
$card-border-width: var(--#{$prefix}border-width);
$card-border-color: var(--#{$prefix}border-color-translucent);
$card-border-radius: var(--#{$prefix}border-radius);
$card-box-shadow: null;
$card-inner-border-radius: subtract($card-border-radius, $card-border-width);
$card-cap-padding-y: $card-spacer-y * .5;
$card-cap-padding-x: $card-spacer-x;
$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03);
$card-cap-color: null;
$card-height: null;
$card-color: null;
$card-bg: var(--#{$prefix}body-bg);
$card-img-overlay-padding: $spacer;
$card-group-margin: $grid-gutter-width * .5;