Bootstrap组件——卡片

本文详细介绍卡片组件的设计原理,包括基础卡片、内容类型、宽度设置、文本对齐、导航、图像处理、文本放置、水平排列、卡片样式及卡片组的创建方式。通过实例展示了如何运用不同属性实现多样化的卡片展示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、卡片(card)

卡片是一个灵活的、可扩展的内容窗口,同时可以做出多种展示效果变体。
卡片没有特定的宽度width定义,除非另有定义声明,否则它们的真实宽度将是100%,您可以根据需要使用自定义CSS,引入栅格系统、定义栅格系统Sass mixins或其它程式进行更改。

1.基础卡片

	<div class="row">
		<div class="col-lg-4">
			<div class="card">
				<div class="card-body">
					<h3 class="card-title">这是卡片的标题</h3>
					<h4 class="card-subtitle mb-3">这是卡片的幅标题</h4>
					<p class="card-text">这是卡片的文本内容,需要添加一个card-text的class</p>
					<a href="#" class="card-link">链接1</a>
					<a href="#" class="card-link">链接2</a>
				</div>
			</div>
		</div>

		<!-- 图片 -->
		<div class="col-lg-4">
			<div class="card">
				<img class="card-img-top" src="images/img_02.jpg" alt="">
				<div class="card-body">
					<p class="card-text">这是图片的说明会很长很长这是图片的说明会很长很长这是图片的说明会很长很长这是图片的说明会很长很长这是图片的说明会很长很长这是图片的说明会很长很长
					</p>
				</div>
			</div>
		</div>

		<!-- 列表组、页眉、页脚 -->
		<div class="col-lg-4">
			<div class="card">
				<div class="card-header">这是卡片的头部,也叫页眉</div>
				<ul class="list-group list-group-flush">
					<li class="list-group-item">这是列表的文字</li>
					<li class="list-group-item">这是列表的文字</li>
					<li class="list-group-item">这是列表的文字</li>
				</ul>
				<div class="card-footer">这是卡片的底部,也叫页脚</div>
			</div>
		</div>
	</div>	

在这里插入图片描述

2.内容类型

头部:卡片的头部.card-header,也叫页眉
主体:如要在一个.card中装置带边框的内容时,使用.card-body样式,建立起卡片的内容主体
底部:卡片的底部.card-footer,也叫页脚

  1. 标题内容
  1. 通过.card-title和 <h*>组合,可以添加卡片标题。
  2. 将.card-link 与 <a>结合使用,可以方便添加平行的链接。
  3. 通过 .card-subtitle 和 <h*> 结合,可以添加副标题
  4. .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-muted">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>

在这里插入图片描述

  1. 图片文字

.card-img-top 定义一张图片在卡片的顶部
.card-text定义文字在卡片中

<div class="card" style="width: 18rem;">
  <img class="card-img-top" src="..." alt="Card image cap">
  <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>

在这里插入图片描述

  1. 列表组
    建立一个包含内容的列表组卡片
<div class="card" style="width: 18rem;">
  <ul class="list-group list-group-flush">
    <li class="list-group-item">Cras justo odio</li>
    <li class="list-group-item">Dapibus ac facilisis in</li>
    <li class="list-group-item">Vestibulum at eros</li>
  </ul>
</div>

在这里插入图片描述

  1. 组合使用
	<div class="row mt-5">
		<div class="col-lg-4">
			<div class="card">
				<div class="card-header">陈数</div>
				<img class="card-img-top" src="images/img_03.jpg" alt="">
				<div class="card-body">
					<h5 class="card-title">这是卡片的标题</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
					<a href="#" class="card-link btn btn-primary">链接1</a>
					<a href="#" class="card-link btn btn-info">链接2</a>
				</div>
				<ul class="list-group list-group-flush">
					<li class="list-group-item">这是列表的文字</li>
					<li class="list-group-item">这是列表的文字</li>
					<li class="list-group-item">这是列表的文字</li>
				</ul>
				<div class="card-footer">页脚</div>
			</div>
		</div>
	</div>

在这里插入图片描述

	<div class="row mt-5">
		<div class="col">
			<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-muted">2 days ago</div>
			</div>
		</div>
	</div>

在这里插入图片描述

2.宽度设置

	<div class="row mt-5">
		<div class="card" style="width: 20rem;">
			<div class="card-body">
				<h5 class="card-title">这是卡片的标题</h5>
				<p class="card-text">
					这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
				</p>
				<a href="#" class="card-link btn btn-primary">链接1</a>
			</div>
		</div>
	</div>

在这里插入图片描述

3.文本对齐

	<div class="row mt-5">
		<div class="col-lg-4">
			<div class="card text-left">
				<div class="card-body">
					<h5 class="card-title">左对齐</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
					<a href="#" class="card-link btn btn-primary">链接1</a>
				</div>
			</div>
		</div>
		<div class="col-lg-4">
			<div class="card text-center">
				<div class="card-body">
					<h5 class="card-title">居中对齐</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
					<a href="#" class="card-link btn btn-primary">链接1</a>
				</div>
			</div>
		</div>
		<div class="col-lg-4">
			<div class="card text-right">
				<div class="card-body">
					<h5 class="card-title">右对齐</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
					<a href="#" class="card-link btn btn-primary">链接1</a>
				</div>
			</div>
		</div>
	</div>

在这里插入图片描述

4.导航

  1. 表格(nav-tabs)
<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" 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" href="#">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>

在这里插入图片描述

  1. 填满(nav-pills)
<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" href="#">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>

在这里插入图片描述

5. 图像

选择在卡片的任何一端附加.cad-img-*,用卡片内容覆盖图像(如同背景),或者只是将图像置入到卡片当中

<div class="card mb-3">
  <img class="card-img-top" src="..." alt="Card image cap">
  <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-muted">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-muted">Last updated 3 mins ago</small></p>
  </div>
  <img class="card-img-bottom" src="..." alt="Card image cap">
</div>

在这里插入图片描述

6.文本放在图片身上

请注意,内容不应大于图像的高度。 如果内容大于图像,则内容将显示在图像外部.

<div class="card bg-dark text-white">
  <img class="card-img" src="..." alt="Card image">
  <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">Last updated 3 mins ago</p>
  </div>
</div>

在这里插入图片描述

7.水平排列

在下面的示例中,我们使用.no-gutters删除网格排水沟,并使用.col-md- * 类使卡在md 断点处水平。

<div class="card mb-3" style="max-width: 540px;">
  <div class="row no-gutters">
    <div class="col-md-4">
      <img src="..." class="card-img" 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-muted">Last updated 3 mins ago</small></p>
      </div>
    </div>
  </div>
</div>

在这里插入图片描述

8.卡片样式

  1. 颜色
	<div class="row mt-5">
		<div class="col-3">
			<div class="card text-white bg-primary">
				<div class="card-header">卡片的头部</div>
				<div class="card-body">
					<h5 class="card-title">这是卡片的标题</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
				</div>
			</div>
		</div>
		......
	</div>

在这里插入图片描述

  1. 边框
    使用 边框通用样式 来改变卡片的border-color 、 .text-{color} ,或者在父层的 .card 上显示内容。
	<div class="row mt-5">
		<div class="col-3">
			<div class="card border-primary">
				<div class="card-header">卡片的头部</div>
				<div class="card-body text-primary">
					<h5 class="card-title">这是卡片的标题</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
				</div>
			</div>
		</div>
	</div>

在这里插入图片描述

  1. 页眉、页脚的边框
    更改卡上的页眉和页脚所需的边框,也能使用.bg-transparent删除其background-color背景颜色。
	<div class="row mt-5">
		<div class="col-3">
			<div class="card border-success">
				<div class="card-header bg-transparent border-success">卡片的头部</div>
				<div class="card-body text-primary">
					<h5 class="card-title">这是卡片的标题</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
				</div>
				<div class="card-footer bg-transparent border-success">卡片的底部</div>
			</div>
		</div>
	</div>

在这里插入图片描述

9.卡片组

将多个卡片结为一个群组,使用他们具有相同的宽度和高度列。卡片组使用display: flex;来实现统一的布局。

  1. 连续
	<div class="row mt-5 card-group">
		<div class="card">
			<img class="card-img-top" src="images/img_03.jpg" alt="">
			<div class="card-body">
				<h5 class="card-title">这是卡片的标题</h5>
				<p class="card-text">
					这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
				</p>
				<p class="card-text"><small class="text-muted">2 days ago</small></p>
			</div>
		</div>
		......
	</div>

在这里插入图片描述

  1. 不连续
	<div class="row mt-5 card-deck">
		<div class="card">
			<img class="card-img-top" src="images/img_03.jpg" alt="">
			<div class="card-body">
				<h5 class="card-title">这是卡片的标题</h5>
				<p class="card-text">
					这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
				</p>
				<p class="card-text"><small class="text-muted">2 days ago</small></p>
			</div>
		</div>
		......
	</div>

在这里插入图片描述

  1. 瀑布流

將卡片包在.card-columns 中,可以將做出象 Masonry网站的瀑布式排列卡片效果,卡片是使用column属性,而不是基于 flexbox弹性布局,从而实现更方便实用的浮动对齐,顺序是从上到下、从左到右。
为了防止卡片排列突出栏目,我们必须为它们设置为 display: inline-block (当 column-break-inside: avoid 这个解决方案还没有生效时。

	<div class="row mt-5">
		<div class="card-columns">
			<div class="card">
				<img class="card-img-top" src="images/img_03.jpg" alt="">
				<div class="card-body">
					<h5 class="card-title">这是卡片的标题1</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
					<p class="card-text"><small class="text-muted">2 days ago</small></p>
				</div>
			</div>
			<div class="card">
				<img class="card-img-top" src="images/img_04.jpg" alt="">
				<div class="card-body">
					<h5 class="card-title">这是卡片的标题2</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
					<p class="card-text"><small class="text-muted">2 days ago</small></p>
				</div>
			</div>
			<div class="card">
				<img class="card-img-top" src="images/img_04.jpg" alt="">
				<div class="card-body">
					<h5 class="card-title">这是卡片的标题3</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
					<p class="card-text"><small class="text-muted">2 days ago</small></p>
				</div>
			</div>
			<div class="card">
				<img class="card-img-top" src="images/img_04.jpg" alt="">
				<div class="card-body">
					<h5 class="card-title">这是卡片的标题4</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class
					</p>
					<p class="card-text"><small class="text-muted">2 days ago</small></p>
				</div>
			</div>
			<div class="card">
				<img class="card-img-top" src="images/img_03.jpg" alt="">
				<div class="card-body">
					<h5 class="card-title">这是卡片的标题5</h5>
					<p class="card-text">
						这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一个card-text的class。这是卡片的文本内容,需要添加一,需要添加一个card-text的class
					</p>
					<p class="card-text"><small class="text-muted">2 days ago</small></p>
				</div>
			</div>
		</div>
	</div>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞羽逐星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值