学习Bootstrap 5的第十天

目录

卡片

基础的卡片

实例

页眉和页脚

实例

多种颜色卡片

实例

标题、文本和链接

实例

图片卡片

实例

卡片图像叠加

实例

下拉菜单

基础的下拉列表

实例

下拉列表分隔线

实例

下拉列表标题

实例

禁用的和活动的项目

实例

下拉列表位置

实例

下拉菜单弹出方向设置

实例

下拉菜单设置文本

实例

按钮组中设置下拉菜单

实例

趣味案例

实例


卡片

基础的卡片

Bootstrap 5 提供了.card 与 .card-body 类,可以用于创建各种类型的卡片,包括简单的卡片、带有头部和底部的卡片、带有各种颜色的卡片等等。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>简单的卡片</h1>
			<div class="card">
				<div class="card-body">简单的卡片</div>
			</div>
		</div>
	</body>
</html>

运行结果

页眉和页脚

在 Bootstrap 5 中,.card-header 类用于创建卡片的头部样式,而 .card-footer 类用于创建卡片的底部样式。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>页眉和页脚</h1>
			<div class="card">
				<div class="card-header"> 页眉</div>
				<div class="card-body">这是一些卡片内容。</div>
				<div class="card-footer">页脚</div>
			</div>
		</div>
	</body>
</html>

运行结果

多种颜色卡片

Bootstrap 5 提供了多种上下文类来为卡片添加不同的背景颜色。这些上下文类是:

  1. .bg-primary:主要背景颜色,通常用于突出显示或主题颜色。
  2. .bg-success:成功或积极的背景颜色,用于表示成功或完成的任务。
  3. .bg-info:信息或通知的背景颜色,用于提供额外信息或注释。
  4. .bg-warning:警告或潜在问题的背景颜色,用于提醒用户注意某些问题。
  5. .bg-danger:危险或错误的背景颜色,用于表示错误或危险的情况。
  6. .bg-secondary:次要背景颜色,通常用于次要的元素或内容。
  7. .bg-dark:深色背景颜色,用于在深色主题中使用。
  8. .bg-light:浅色背景颜色,用于在浅色主题中使用。

要使用这些上下文类,只需将其应用于卡片的容器元素上即可。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>多种颜色卡片</h1>
			<div class="card">
				<div class="card-body">基础卡片</div>
			</div>
			<br>
			<div class="card bg-primary text-white">
				<div class="card-body">主要卡片</div>
			</div>
			<br>
			<div class="card bg-success text-white">
				<div class="card-body">成功卡片</div>
			</div>
			<br>
			<div class="card bg-info text-white">
				<div class="card-body">信息卡片</div>
			</div>
			<br>
			<div class="card bg-warning text-white">
				<div class="card-body">警告卡片</div>
			</div>
			<br>
			<div class="card bg-danger text-white">
				<div class="card-body">危险卡片</div>
			</div>
			<br>
			<div class="card bg-secondary text-white">
				<div class="card-body">次要卡片</div>
			</div>
			<br>
			<div class="card bg-dark text-white">
				<div class="card-body">黑色卡片</div>
			</div>
			<br>
			<div class="card bg-light text-dark">
				<div class="card-body">浅色卡片</div>
			</div>
		</div>
	</body>
</html>

运行结果

标题、文本和链接

在 Bootstrap 5 中,使用.card-title类可以设置卡片的标题样式,使用.card-body类可以设置卡片正文的内容样式,使用.card-text类可以设置在.card-body类中的<p>标签的样式,并且如果希望最后一行没有底部边距,可以移除底部边距。另外,使用.card-link类可以设置链接的颜色样式。这些类可以帮助我们更好地控制和美化卡片的显示效果。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>标题、文本和链接</h1>
			<div class="card">
				<div class="card-body">
					<h5 class="card-title">卡片标题</h5>
					<p class="card-text">卡片正文内容。</p>
					<a href="#" class="card-link">链接</a>
				</div>
			</div>
		</div>
	</body>
</html>

在上面的示例中,我们使用了.card类来创建一个卡片容器。在.card-body类内部,我们设置了一个卡片标题使用.card-title类,并且设置了一个卡片正文内容使用.card-text类。最后,我们添加了一个链接使用.card-link类。可以根据需要自定义这些类的样式,例如,可以使用CSS来更改文字颜色、背景颜色、边框样式等。

运行结果

图片卡片

在 Bootstrap 5 中,可以使用.card-img-top类将图片放置在文字上方,或使用.card-img-bottom类将图片放置在文字下方。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>图片卡片</h1>
			<div class="row">
				<div class="col-sm-6">
					<p>图片在头部 (card-img-top):</p>
					<div class="card" style="width:100%">
						<img class="card-img-top" src="img/1.png" alt="Card image" style="width:100%">
						<div class="card-body">
							<h4 class="card-title">标题</h4>
							<p class="card-text">一些示例文本,一些示例文本。</p>
							<a href="#" class="card-link">链接</a>
						</div>
					</div>
				</div>
				<div class="col-sm-6">
					<p>图片在底部(card-img-bottom):</p>
					<div class="card" style="width:100%">
						<div class="card-body">
							<h4 class="card-title">标题</h4>
							<p class="card-text">一些示例文本,一些示例文本。</p>
							<a href="#" class="card-link">链接</a>
						</div>
						<img class="card-img-bottom" src="img/1.png" alt="Card image" style="width:100%">
					</div>
				</div>
			</div>
		</div>
	</body>
</html>

运行结果

卡片图像叠加

可以使用 Bootstrap 的 card 组件和 card-img-overlay 类来创建卡片图像叠加的效果。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>卡片图像叠加</h1>
			<div class="row">
				<div class="col-sm-6">
					<p>图片在头部 (card-img-top):</p>
					<div class="card" style="width:100%">
						<img class="card-img-top" src="img/1.png" alt="Card Image" style="width:100%">
						<div class="card-img-overlay">
							<h4 class="card-title text-white">标题</h4>
							<p class="card-text text-white">一些示例文本,一些示例文本。</p>
							<a href="#" class="card-link">链接</a>
						</div>
					</div>
				</div>
				<div class="col-sm-6">
					<p>图片在底部(card-img-bottom):</p>
					<div class="card" style="width: 100%; position: relative;">
						<div class="card-img-overlay  d-flex align-items-end">
							<h4 class="card-title text-white">标题</h4>
							<p class="card-text text-white">一些示例文本,一些示例文本。</p>
							<a href="#" class="card-link">链接</a>
						</div>
						<img class="card-img-bottom" src="img/1.png" alt="Card Image" style="width:100%">
					</div>
				</div>
			</div>
		</div>
	</body>
</html>

运行结果

下拉菜单

基础的下拉列表

Bootstrap 5 中的下拉菜单是可切换的,以列表格式显示链接的上下文菜单。要创建一个下拉菜单,需要遵循以下步骤:

  1. 创建一个按钮或链接,并添加 .dropdown-toggle 类和 data-bs-toggle="dropdown" 属性。这将作为下拉菜单的触发器。
  2. 在 <div> 元素上添加 .dropdown-menu 类来设置实际的下拉菜单。
  3. 在下拉菜单中添加 <div> 元素,并为其添加 .dropdown-item 类,以创建下拉菜单的选项。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>基础的下拉列表</h1>
			<div class="dropdown">
				<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton"
					data-bs-toggle="dropdown" aria-expanded="false">
					下拉菜单按钮
				</button>
				<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
					<li><a class="dropdown-item" href="#">链接 1</a></li>
					<li><a class="dropdown-item" href="#">链接 2</a></li>
					<li><a class="dropdown-item" href="#">链接 3</a></li>
				</ul>
			</div>
		</div>
	</body>
</html>

在这个示例中,我们创建了一个按钮作为下拉菜单的触发器,并添加了 data-bs-toggle="dropdown" 属性。在 <ul> 元素上添加 .dropdown-menu 类来设置实际的下拉菜单,并在每个选项中添加 .dropdown-item 类。最后,我们使用 aria-labelledby 属性将下拉菜单与触发器按钮关联起来。 

扩展小知识

aria-labelledby="dropdownMenuButton" 是一个 ARIA (Accessible Rich Internet Applications) 属性,它提供了一种方式来标识一个元素,以便辅助技术(如屏幕阅读器)能够正确理解和传达其内容。

在这个特定的例子中,aria-labelledby="dropdownMenuButton" 是用于将下拉菜单与触发它的按钮关联起来。这样,当用户与下拉菜单交互时,辅助技术将能够正确地传达下拉菜单的状态和内容。aria-labelledby 属性的值应该是一个 ID,指向与当前元素相关的另一个元素。在这个例子中,dropdownMenuButton 是触发下拉菜单的按钮的 ID。这意味着,当用户与下拉菜单交互时,辅助技术将能够正确地传达下拉菜单的状态和内容。

使用 aria-labelledby 属性可以提高网站的可访问性,使辅助技术用户能够更轻松地理解和导航网站内容。

运行结果

下拉列表分隔线

在Bootstrap中,可以使用.dropdown-divider类来在下拉菜单中添加分隔线。这个类会在菜单项之间添加一个水平的细边框,从而起到分隔的作用。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>基础的下拉列表</h1>
			<div class="dropdown">
				<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton"
					data-bs-toggle="dropdown" aria-expanded="false">
					下拉菜单按钮
				</button>
				<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
					<li><a class="dropdown-item" href="#">链接 1</a></li>
					<li><a class="dropdown-item" href="#">链接 2</a></li>
					<li><a class="dropdown-item" href="#">链接 3</a></li>
					<div class="dropdown-divider"></div>
					<li><a class="dropdown-item" href="#">链接 4</a></li>
				</ul>
			</div>
		</div>
	</body>
</html>

在这个例子中,我们创建了一个下拉菜单,其中包含了两个菜单项,然后使用.dropdown-divider类在它们之间添加了一个分隔线。最后,我们又添加了一个菜单项,它出现在分隔线的下方。

需要注意的是,.dropdown-divider类只能用在.dropdown-menu类的内部,否则将不会显示任何效果。

运行结果

下拉列表标题

在Bootstrap中,可以使用.dropdown-header类来在下拉菜单中添加标题。这个类会让元素呈现为粗体文本,并且在需要的时候添加一个分隔线。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>基础的下拉列表</h1>
			<div class="dropdown">
				<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton"
					data-bs-toggle="dropdown" aria-expanded="false">
					下拉菜单按钮
				</button>
				<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
					<div class="dropdown-header">标题 1</div>  
					<li><a class="dropdown-item" href="#">链接 1</a></li>
					<li><a class="dropdown-item" href="#">链接 2</a></li>
					<li><a class="dropdown-item" href="#">链接 3</a></li>
					<div class="dropdown-divider"></div>
					<div class="dropdown-header">标题 2</div>  
					<li><a class="dropdown-item" href="#">链接 4</a></li>
				</ul>
			</div>
		</div>
	</body>
</html>

运行结果

禁用的和活动的项目

在Bootstrap中,可以使用.active类来突出显示特定的下拉项,并使用.disabled类来禁用下拉菜单中的某个项目。

需要注意的是,禁用状态只应用于链接元素,而不是按钮元素。如果需要禁用按钮元素,可以使用.disabled类,但是需要使用自定义的CSS样式来改变按钮的禁用状态样式。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>基础的下拉列表</h1>
			<div class="dropdown">
				<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton"
					data-bs-toggle="dropdown" aria-expanded="false">
					下拉菜单按钮
				</button>
				<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
					<div class="dropdown-header">标题 1</div>
					<li><a class="dropdown-item active" href="#">链接 1</a></li>
					<li><a class="dropdown-item" href="#">链接 2</a></li>
					<li><a class="dropdown-item disabled" href="#">链接 3</a></li>
					<div class="dropdown-divider"></div>
					<div class="dropdown-header">标题 2</div>
					<li><a class="dropdown-item active" href="#">链接 4</a></li>
				</ul>
			</div>
		</div>
	</body>
</html>

运行结果

下拉列表位置

在Bootstrap中,可以使用.dropend和.dropstart类来控制下拉菜单的定位。

  1. .dropend类会将下拉菜单定位在元素的右侧。
  2. .dropstart类会将下拉菜单定位在元素的左侧。

这些类需要添加到.dropdown类的元素上。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>基础的下拉列表</h1>
			<div class="dropdown dropend">
				<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton"
					data-bs-toggle="dropdown" aria-expanded="false">
					右边下拉菜单按钮
				</button>
				<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
					<div class="dropdown-header">标题 1</div>
					<li><a class="dropdown-item active" href="#">链接 1</a></li>
					<li><a class="dropdown-item" href="#">链接 2</a></li>
					<li><a class="dropdown-item disabled" href="#">链接 3</a></li>
					<div class="dropdown-divider"></div>
					<div class="dropdown-header">标题 2</div>
					<li><a class="dropdown-item active" href="#">链接 4</a></li>
				</ul>
			</div>
			<div class="dropdown dropstart text-end">
				<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton1"
					data-bs-toggle="dropdown" aria-expanded="false">
					左边下拉菜单按钮
				</button>
				<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
					<div class="dropdown-header">标题 1</div>
					<li><a class="dropdown-item active" href="#">链接 1</a></li>
					<li><a class="dropdown-item" href="#">链接 2</a></li>
					<li><a class="dropdown-item disabled" href="#">链接 3</a></li>
					<div class="dropdown-divider"></div>
					<div class="dropdown-header">标题 2</div>
					<li><a class="dropdown-item active" href="#">链接 4</a></li>
				</ul>
			</div>
		</div>
	</body>
</html>

运行结果

下拉菜单弹出方向设置

在Bootstrap中,可以使用一些特定的类来控制下拉菜单的弹出方向。

  • 默认情况下,下拉菜单会向下弹出。
  • 如果希望下拉菜单向右下方弹出,可以在.dropdown-menu元素上添加.dropdown-menu-end类。
  • 如果希望上拉菜单向上弹出,可以在.dropdown元素上添加dropup类。
  • 如果希望下拉菜单向左弹出,可以在.dropdown-menu元素上添加dropstart类。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>下拉菜单弹出方向设置</h1>
			<!-- 向右下方弹出的下拉菜单 -->
			<div class="dropdown dropdown-menu-end">
				<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton"
					data-bs-toggle="dropdown" aria-expanded="false">
					向右下方弹出的下拉菜单
				</button>
				<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdownMenuButton">
					<li><a class="dropdown-item" href="#">Action</a></li>
					<li><a class="dropdown-item" href="#">Another action</a></li>
					<li><a class="dropdown-item" href="#">Something else here</a></li>
				</ul>
			</div><br />

			<!-- 向上弹出的上拉菜单 -->
			<div class="dropdown dropup text-center">
				<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton"
					data-bs-toggle="dropdown" aria-expanded="false">
					向上弹出的上拉菜单
				</button>
				<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
					<li><a class="dropdown-item" href="#">Action</a></li>
					<li><a class="dropdown-item" href="#">Another action</a></li>
					<li><a class="dropdown-item" href="#">Something else here</a></li>
				</ul>
			</div><br />

			<!-- 向左弹出的下拉菜单 -->
			<div class="dropdown dropstart text-end">
				<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton"
					data-bs-toggle="dropdown" aria-expanded="false">
					向左弹出的下拉菜单
				</button>
				<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
					<li><a class="dropdown-item" href="#">Action</a></li>
					<li><a class="dropdown-item" href="#">Another action</a></li>
					<li><a class="dropdown-item" href="#">Something else here</a></li>
				</ul>
			</div>
		</div>
	</body>
</html>

运行结果

下拉菜单设置文本

在Bootstrap 5中,可以使用.dropdown-item-text类来设置下拉菜单中的文本项。这个类可以让文本项呈现为普通的文本,而不是链接或按钮。

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>下拉菜单设置文本</h1>
			<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">
				下拉菜单设置文本
			</button>
			<div class="dropdown-menu">
				<div class="dropdown-item-text">仅仅是文本</div>
				<a class="dropdown-item" href="#">链接 1</a>
				<a class="dropdown-item" href="#">链接 2</a>
				<a class="dropdown-item" href="#">链接 3</a>
				<div class="dropdown-divider"></div>
				<a class="dropdown-item-text" href="#">文本链接</a>
			</div>
		</div>
	</body>
</html>

运行结果

按钮组中设置下拉菜单

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-3">
			<h1>按钮组中设置下拉菜单</h1>
			<h2>在按钮中添加下拉菜单</h2>
			<div class="btn-group">
				<button type="button" class="btn btn-primary">按钮 1</button>
				<button type="button" class="btn btn-primary">按钮 2</button>
				<div class="btn-group">
					<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">按钮
						3</button>
					<ul class="dropdown-menu">
						<li><a class="dropdown-item" href="#">标题 1</a></li>
						<li><a class="dropdown-item" href="#">标题 2</a></li>
					</ul>
				</div>
			</div>
			<h2>垂直方向内嵌按钮组</h2>
			<div class="btn-group-vertical">
				<button type="button" class="btn btn-primary">按钮 1</button>
				<button type="button" class="btn btn-primary">按钮 2</button>
				<div class="btn-group">
					<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">按钮
						3</button>
					<ul class="dropdown-menu">
						<li><a class="dropdown-item" href="#">标题 1</a></li>
						<li><a class="dropdown-item" href="#">标题 2</a></li>
					</ul>
				</div>
			</div>
		</div>
	</body>
</html>

运行结果

趣味案例

实例

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Bootstrap 实例</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
	</head>
	<body>
		<div class="container mt-4">
			<h3>中文日历</h3>
			<div class="row">
				<div class="col-md-6">
					<div class="dropdown">
						<button class="btn btn-primary dropdown-toggle" type="button" id="monthDropdown"
							data-bs-toggle="dropdown" aria-expanded="false">
							选择月份
						</button>
						<ul class="dropdown-menu" aria-labelledby="monthDropdown">
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 1)">一月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 2)">二月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 3)">三月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 4)">四月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 5)">五月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 6)">六月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 7)">七月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 8)">八月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 9)">九月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 10)">十月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 11)">十一月</a>
							</li>
							<li><a class="dropdown-item" href="#" onclick="generateCalendar(selectedYear, 12)">十二月</a>
							</li>
						</ul>
					</div>
				</div>
				<div class="col-md-6">
					<div class="input-group">
						<input type="number" class="form-control" id="yearInput" placeholder="输入年份" min="1900"
							max="2100">
						<button class="btn btn-primary" type="button" onclick="updateYear()">更新</button>
					</div>
				</div>
			</div>

			<hr>

			<table class="table table-bordered mt-3">
				<thead>
					<tr>
						<th>周日</th>
						<th>周一</th>
						<th>周二</th>
						<th>周三</th>
						<th>周四</th>
						<th>周五</th>
						<th>周六</th>
					</tr>
				</thead>
				<tbody id="calendarBody">

				</tbody>
			</table>
		</div>

		<script>
			var selectedYear = (new Date()).getFullYear();

			// 初始化
			generateCalendar(selectedYear, (new Date()).getMonth() + 1);

			function generateCalendar(year, month) {
				var calendarBody = document.getElementById("calendarBody");
				calendarBody.innerHTML = "";

				var date = new Date();
				date.setFullYear(year);
				date.setMonth(month - 1);
				date.setDate(1);

				var firstDayOfWeek = date.getDay();

				var daysInMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();

				var tableRow = document.createElement("tr");

				for (var i = 0; i < firstDayOfWeek; i++) {
					var emptyCell = document.createElement("td");
					tableRow.appendChild(emptyCell);
				}

				for (var day = 1; day <= daysInMonth; day++) {
					var tableCell = document.createElement("td");
					tableCell.textContent = day;
					tableRow.appendChild(tableCell);

					if ((firstDayOfWeek + day - 1) % 7 === 6) {
						calendarBody.appendChild(tableRow);
						tableRow = document.createElement("tr");
					}
				}

				if (tableRow.innerHTML !== "") {
					calendarBody.appendChild(tableRow);
				}
			}

			function updateYear() {
				var yearInput = document.getElementById("yearInput");
				var year = parseInt(yearInput.value);

				if (!isNaN(year)) {
					selectedYear = year;
					generateCalendar(selectedYear, (new Date()).getMonth() + 1);
				}
			}
		</script>
	</body>
</html>

在上述代码中,我们添加了一个输入框和一个按钮,用于更新选择的年份。输入框接受用户输入的年份,按钮点击后调用updateYear()函数来更新年份。在JavaScript中,我们引入了一个额外的selectedYear变量,用于存储用户选择的年份。在初始加载页面时,默认使用当前年份。generateCalendar()函数也进行了修改,将选择的年份作为参数传入,并相应地更新日期表格。通过这种方式,用户可以选择要显示的月份和年份,并根据选择更新日历显示。

运行结果

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Bootstrap是一个开源的前端框架,由Twitter的设计师和工程师共同开发。它提供了一系列的CSS、JavaScript和HTML组件,可用于快速搭建现代化的响应式网站和Web应用程序。 学习Bootstrap可以帮助你更高效地开发Web应用程序,减少开发时间和成本。以下是一些学习Bootstrap的步骤: 1. 了解Bootstrap的基础知识:Bootstrap提供了一系列的CSS类和JavaScript插件,用于快速搭建响应式布局、表单、导航条等组件。你可以先了解Bootstrap的基础知识,包括网格系统、排版、颜色、图标等。 2. 阅读Bootstrap文档:Bootstrap官方文档提供了详细的说明和示例,可以帮助你更好地理解Bootstrap的用法和功能。你可以按照文档的顺序逐步学习Bootstrap的各个组件和插件,从而掌握其使用方法。 3. 实践Bootstrap的应用:通过实践应用,你可以更深入地理解Bootstrap的用法和功能。你可以从简单的网站布局开始,逐步尝试使用Bootstrap的各个组件和插件,例如导航条、表单、模态框等。 4. 学习Bootstrap的扩展库:Bootstrap有许多扩展库,例如Bootstrap Material Design、BootstrapVue等,可以进一步扩展Bootstrap的功能和应用范围。你可以学习这些扩展库,并尝试将其应用到你的项目中。 5. 查阅Bootstrap的案例:Bootstrap已经被广泛应用于各种类型的Web应用程序,你可以查阅一些Bootstrap的案例,例如Bootstrap官方网站、Bootstrap Expo等,了解Bootstrap在实际项目中的应用和优化方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员老李头

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

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

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

打赏作者

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

抵扣说明:

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

余额充值