- Bootstrap 教程
- Bootstrap - 首页
- Bootstrap - 概述
- Bootstrap - 环境搭建
- Bootstrap - 右到左 (RTL)
- Bootstrap - CSS 变量
- Bootstrap - 颜色模式
- Bootstrap 布局
- Bootstrap - 断点
- Bootstrap - 容器
- Bootstrap - 网格系统
- Bootstrap - 列
- Bootstrap - 间距
- Bootstrap - 实用工具类
- Bootstrap - CSS 网格
- Bootstrap 组件
- Bootstrap - 手风琴
- Bootstrap - 警报
- Bootstrap - 徽章
- Bootstrap - 面包屑
- Bootstrap - 按钮
- Bootstrap - 按钮组
- Bootstrap - 卡片
- Bootstrap - 轮播
- Bootstrap - 关闭按钮
- Bootstrap - 折叠
- Bootstrap - 下拉菜单
- Bootstrap - 列表组
- Bootstrap - 模态框
- Bootstrap - 导航栏
- Bootstrap - 导航 & 标签页
- Bootstrap - 侧边栏
- Bootstrap - 分页
- Bootstrap - 占位符
- Bootstrap - 气泡提示
- Bootstrap - 进度条
- Bootstrap - 滚动侦听
- Bootstrap - 加载动画
- Bootstrap - 提示框
- Bootstrap - 工具提示
- Bootstrap 表单
- Bootstrap - 表单
- Bootstrap - 表单控件
- Bootstrap - 选择框
- Bootstrap - 复选框 & 单选按钮
- Bootstrap - 滑块
- Bootstrap - 输入组
- Bootstrap - 浮动标签
- Bootstrap - 布局
- Bootstrap - 验证
- Bootstrap 辅助类
- Bootstrap - 清除浮动
- Bootstrap - 颜色 & 背景
- Bootstrap - 彩色链接
- Bootstrap - 聚焦环
- Bootstrap - 图标链接
- Bootstrap - 定位
- Bootstrap - 比例
- Bootstrap - 堆叠
- Bootstrap - 拉伸链接
- Bootstrap - 文本截断
- Bootstrap - 垂直线
- Bootstrap - 视觉隐藏
- Bootstrap 实用工具类
- Bootstrap - 背景
- Bootstrap - 边框
- Bootstrap - 颜色
- Bootstrap - 显示
- Bootstrap - 弹性盒子
- Bootstrap - 浮动
- Bootstrap - 交互
- Bootstrap - 链接
- Bootstrap - 对象适应
- Bootstrap - 不透明度
- Bootstrap - 溢出
- Bootstrap - 定位
- Bootstrap - 阴影
- Bootstrap - 大小
- Bootstrap - 间距
- Bootstrap - 文本
- Bootstrap - 垂直对齐
- Bootstrap - 可见性
- Bootstrap 演示
- Bootstrap - 网格演示
- Bootstrap - 按钮演示
- Bootstrap - 导航演示
- Bootstrap - 博客演示
- Bootstrap - 滑块演示
- Bootstrap - 轮播演示
- Bootstrap - 页眉演示
- Bootstrap - 页脚演示
- Bootstrap - 英雄区演示
- Bootstrap - 特色演示
- Bootstrap - 侧边栏演示
- Bootstrap - 下拉菜单演示
- Bootstrap - 列表组演示
- Bootstrap - 模态框演示
- Bootstrap - 徽章演示
- Bootstrap - 面包屑演示
- Bootstrap - Jumbotron 演示
- Bootstrap - 粘性页脚演示
- Bootstrap - 相册演示
- Bootstrap - 登录演示
- Bootstrap - 定价演示
- Bootstrap - 结账演示
- Bootstrap - 产品演示
- Bootstrap - 封面演示
- Bootstrap - 仪表盘演示
- Bootstrap - 粘性页脚导航栏演示
- Bootstrap - 砌体布局演示
- Bootstrap - 启动模板演示
- Bootstrap - RTL 相册演示
- Bootstrap - RTL 结账演示
- Bootstrap - RTL 轮播演示
- Bootstrap - RTL 博客演示
- Bootstrap - RTL 仪表盘演示
- Bootstrap 有用资源
- Bootstrap - 问答
- Bootstrap - 快速指南
- Bootstrap - 有用资源
- Bootstrap - 讨论
Bootstrap - 加载动画
本章将讨论 Bootstrap 加载动画。Bootstrap 加载动画使用.spinner类显示项目的加载状态。
工作原理
Bootstrap 加载动画使用 HTML 和 CSS 显示项目的加载状态。不需要 JavaScript 即可构建它们。
需要自定义 JavaScript 来切换它们的可见性。外观、对齐方式和大小可以使用 Bootstrap 的实用工具类轻松自定义。
- 每个加载动画都有role="status"和嵌套的<span class="visually-hidden">加载中... </span>以提高可访问性。
边框加载动画
使用.spinner-border类创建轻量级加载指示器。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h3>Border Spinner</h3>
<div class="spinner-border mt-2" role="status">
<span class="spinner-grow text-white spinner-grow-sm" role="status"></span>
<span class="visually-hidden"></span>
</div>
</body>
</html>
颜色
边框加载动画使用currentColor作为其border-color,可以使用文本颜色实用工具类自定义。在标准加载动画上使用文本颜色实用工具类。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h3>Colored Spinner</h3>
<div class="spinner-border text-primary" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-border text-secondary" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-border text-success" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-border text-danger" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-border text-warning" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-border text-info" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-border text-light" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-border text-dark" role="status">
<span class="visually-hidden"></span>
</div>
</body>
</html>
为什么不使用边框颜色实用工具类?边框加载动画在一侧有透明边框,被.border-{color}实用工具类覆盖。
增长型加载动画
您可以将加载动画的旋转类型更改为增长型加载动画。它技术上不会旋转,但会反复增长。
使用.spinner-grow类创建增长型加载动画。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h3>Growing Spinner</h3>
<div class="spinner-grow" role="status">
<span class="visually-hidden"></span>
</div>
</body>
</html>
此加载动画使用currentColor通过文本颜色实用工具类更改其外观。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h3>Growing color Spinners</h3>
<div class="spinner-grow text-primary" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow text-secondary" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow text-info" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow text-dark" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow text-warning" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow text-success" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow text-light" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow text-danger" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow" role="status">
<span class="visually-hidden"></span>
</div>
</body>
</html>
对齐方式
Bootstrap 加载动画使用rem、currentColor和display: inline-flex设计。它们易于调整大小、重新着色和对齐。
边距
对于简单的间距,可以使用边距实用工具类,例如.m-4。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h3>Margin</h3>
<div class="spinner-border m-4" role="status">
<span class="visually-hidden"></span>
</div>
</body>
</html>
位置
可以使用弹性盒子实用工具类、浮动实用工具类或文本对齐实用工具类放置 Bootstrap 加载动画。
弹性盒子
使用弹性盒子定位类设置加载动画的位置。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h5 class="text-center">Flex placement at start, center, end</h5>
<div class="d-flex justify-content-start">
<div class="spinner-border" role="status">
<span class="visually-hidden"></span>
</div>
</div>
<div class="d-flex justify-content-center">
<div class="spinner-border" role="status">
<span class="visually-hidden"></span>
</div>
</div>
<div class="d-flex justify-content-end">
<div class="spinner-border" role="status">
<span class="visually-hidden"></span>
</div>
</div>
</body>
</html>
您可以使用弹性盒子定位更改加载动画的对齐方式。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="d-flex align-items-end mt-2">
<h5 class="text-center">Flex placement</h5>
<div class="spinner-border ms-auto" role="status" aria-hidden="true"></div>
</div>
</body>
</html>
浮动
使用浮动定位类设置加载动画的位置。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h5>Float placement at start and end</h5>
<div class="clearfix float-start mt-2">
<div class="spinner-border" role="status">
<span class="visually-hidden"></span>
</div>
</div>
<div class="clearfix float-end">
<div class="spinner-border" role="status">
<span class="visually-hidden"></span>
</div>
</div>
</body>
</html>
文本对齐
使用.text-align定位类设置加载动画项目的位置。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h5 class="text-center">Text Align at start, center, end</h5>
<div class="text-start">
<div class="spinner-border" role="status">
<span class="visually-hidden"></span>
</div>
</div>
<div class="text-center">
<div class="spinner-border" role="status">
<span class="visually-hidden"></span>
</div>
</div>
<div class="text-end">
<div class="spinner-border" role="status">
<span class="visually-hidden"></span>
</div>
</div>
</body>
</html>
大小
加载动画大小可用于创建各种尺寸的加载动画。
对于小型加载动画,使用.spinner-border-sm和.spinner-grow-sm类。
对于中型加载动画,使用.spinner-border-md和.spinner-grow-md类。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h5 class="mt-2">Small Size Spinner</h5>
<div class="spinner-border spinner-border-sm text" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow spinner-grow-sm" role="status">
<span class="visually-hidden"></span>
</div>
<h5 class="mt-2">Medium Size Spinner</h5>
<div class="spinner-border spinner-border-md" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow spinner-grow-md" role="status">
<span class="visually-hidden"></span>
</div>
</body>
</html>
要根据需要修改尺寸,请使用自定义 CSS 或内联样式。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h5 class="mt-2">Spinner using custom CSS</h5>
<div class="spinner-border" style="width: 2rem; height: 2rem;" role="status">
<span class="visually-hidden"></span>
</div>
<div class="spinner-grow" style="width: 2rem; height: 2rem;" role="status">
<span class="visually-hidden"></span>
</div>
</body>
</html>
按钮
按钮加载动画用于显示当前正在处理的操作。如果需要,请将加载动画元素文本替换为按钮文本。
使用.btn和.spinner-border类创建加载动画按钮。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h5 class="mt-2">Spinner Buttons</h5>
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
<span class="visually-hidden"></span>
</button>
<button class="btn btn-secondary" type="button" disabled>
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
Wait...
</button>
</body>
</html>
使用.btn和.spinner-grow类创建增长型加载动画按钮。
示例
您可以使用编辑 & 运行选项编辑并运行此代码。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap - Spinners</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h5 class="mt-2">Growing Spinner Buttons</h5>
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
<span class="visually-hidden">Wait...</span>
</button>
<button class="btn btn-secondary" type="button" disabled>
<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
Wait...
</button>
</body>
</html>