Flex弹性布局(一)
- 使用.d-flex和.d-inline-flex实现开启flex布局样式;
- .flex-row可以呈现子元素水平方向的位置, 默认居左并从左到右显示(1, 2, 3)
- .flex-row-reverse子元素水平方向居右从左到右显示(3, 2,1) ;
- .flex-column实现子元素垂直效果,并从上往下显示(1, 2, 3)
- .flex-column-reverse实现子元素垂直效果,并从上往下显示(3, 2,1)
- justify-content-start(end、 center、 between、 around)实现内容对齐;
- .align-items-start(end、center、 baseline、 stretch)实现项目对齐;
- .align-self-start(end、center、 baseline、 stretch)实现单项目对齐;
样例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>弹性布局</title>
<!-- 移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 引入Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.css">
<style>
</style>
</head>
<body>
<div class="d-flex flex-row border border-dark mt-5">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row-reverse border border-dark mt-5">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row-reverse border border-dark mt-5 justify-content-start">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 justify-content-end">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 justify-content-start">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 justify-content-center">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 justify-content-around">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 justify-content-between">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 align-items-end" style="height:200px;">
<div class="p-2 border border-success">one#</div>
<div class="p-2 border border-success">two#</div>
<div class="p-2 border border-success">three#</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 align-items-start" style="height:200px;">
<div class="p-2 border border-success">one#</div>
<div class="p-2 border border-success">two#</div>
<div class="p-2 border border-success">three#</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 align-items-center" style="height:200px;">
<div class="p-2 border border-success">one#</div>
<div class="p-2 border border-success">two#</div>
<div class="p-2 border border-success">three#</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 align-items-stretch" style="height:200px;">
<div class="p-2 border border-success">one#</div>
<div class="p-2 border border-success">two#</div>
<div class="p-2 border border-success">three#</div>
</div>
<div class="d-flex flex-row border border-dark mt-5" style="height:200px;">
<div class="p-2 border border-success align-self-center">one##</div>
<div class="p-2 border border-success align-self-end">two##</div>
<div class="p-2 border border-success align-self-start">three##</div>
<div class="p-2 border border-success align-self-stretch">three##</div>
</div>
<div class="d-flex flex-column border border-dark mt-5" style="height:200px;">
<div class="p-2 border border-success align-self-center">one##</div>
<div class="p-2 border border-success align-self-end">two##</div>
<div class="p-2 border border-success align-self-start">three##</div>
<div class="p-2 border border-success align-self-stretch">three##</div>
</div>
<div class="d-flex flex-column border border-dark mt-5">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-column-reverse border border-dark mt-5">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-column border border-dark mt-5 justify-content-end" style="height:200px;">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-column border border-dark mt-5 justify-content-start" style="height:200px;">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-column border border-dark mt-5 justify-content-between" style="height:200px;">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-column border border-dark mt-5 justify-content-around" style="height:200px;">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success">three</div>
</div>
<!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
Flex弹性布局(二)
- 使用.flex-fill强制让每个元素项目占据相等的水平宽度;
- 多个项目同时设置了.flex-fill, 则它们等比例分割宽度,适合导航项目;
- 如果其中一个或两个没有设置.flex-fill,则没有设置的会被设置的填充宽度;
- 使用.flex-grow-*, *表示0或1,也能实现.flex- fill的功能,设置1即可;
- 通过元素生成的css可以看出, 其实.flex-fill就是flex族的简写形式;
- 使用.flex-shrink-*, *表示0或1, 表示是否强制更换到新行中;
- 使用.mr-auto和.ml-auto等对齐方式, 对flex元素进行浮动对齐;
- 对于垂直方向,也可以使用.mb-auto和.mt-auto来设置对象方向;
- 使用.flex-wrap(包裹) 和.flex-nowrap(不包裹, 默认)来设置子元素项目;
- 使用.flex-wrap-reverse进行项目排序的倒序;
- 使用.order-*,来设置子元素项目的排序顺序, 支持.order-*-*;
- .align-content-start(end、center、 between、 around、 stretch)垂直对齐;
样例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>弹性布局</title>
<!-- 移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 引入Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.css">
<style>
</style>
</head>
<div class="d-flex flex-row border border-dark mt-5">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success flex-fill">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5">
<div class="p-2 border border-success flex-fill">one</div>
<div class="p-2 border border-success flex-fill">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5">
<div class="p-2 border border-success flex-fill">one</div>
<div class="p-2 border border-success flex-fill">two</div>
<div class="p-2 border border-success flex-fill">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success flex-grow-1">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5">
<div class="p-2 border border-success w-100">one</div>
<div class="p-2 border border-success flex-shrink-0">three hello</div>
</div>
<div class="d-flex flex-row border border-dark mt-5">
<div class="p-2 border border-success mr-auto">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success ml-auto">three</div>
</div>
<div class="d-flex flex-column border border-dark mt-5" style="height:300px;">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success">two</div>
<div class="p-2 border border-success mt-auto">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap" style="width:150px;">
<div class="p-2 border border-success">###1</div>
<div class="p-2 border border-success">###2</div>
<div class="p-2 border border-success">###3</div>
<div class="p-2 border border-success">###4</div>
<div class="p-2 border border-success">###5</div>
<div class="p-2 border border-success">###6</div>
<div class="p-2 border border-success">###7</div>
<div class="p-2 border border-success">###8</div>
<div class="p-2 border border-success">###9</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap-reverse" style="width:150px;">
<div class="p-2 border border-success">###1</div>
<div class="p-2 border border-success">###2</div>
<div class="p-2 border border-success">###3</div>
<div class="p-2 border border-success">###4</div>
<div class="p-2 border border-success">###5</div>
<div class="p-2 border border-success">###6</div>
<div class="p-2 border border-success">###7</div>
<div class="p-2 border border-success">###8</div>
<div class="p-2 border border-success">###9</div>
</div>
<div class="d-flex flex-row border border-dark mt-5">
<div class="p-2 border border-success order-3">one</div>
<div class="p-2 border border-success order-1">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-column border border-dark mt-5" style="height:300px;">
<div class="p-2 border border-success">one</div>
<div class="p-2 border border-success flex-fill">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-column border border-dark mt-5" style="height:300px;">
<div class="p-2 border border-success flex-fill">one</div>
<div class="p-2 border border-success flex-fill">two</div>
<div class="p-2 border border-success">three</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-start" style="height:300px">
<div class="p-2 border border-success">###1</div>
<div class="p-2 border border-success">###2</div>
<div class="p-2 border border-success">###3</div>
<div class="p-2 border border-success">###4</div>
<div class="p-2 border border-success">###5</div>
<div class="p-2 border border-success">###6</div>
<div class="p-2 border border-success">###7</div>
<div class="p-2 border border-success">###8</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-end" style="height:300px">
<div class="p-2 border border-success">###1</div>
<div class="p-2 border border-success">###2</div>
<div class="p-2 border border-success">###3</div>
<div class="p-2 border border-success">###4</div>
<div class="p-2 border border-success">###5</div>
<div class="p-2 border border-success">###6</div>
<div class="p-2 border border-success">###7</div>
<div class="p-2 border border-success">###8</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-center" style="height:300px">
<div class="p-2 border border-success">###1</div>
<div class="p-2 border border-success">###2</div>
<div class="p-2 border border-success">###3</div>
<div class="p-2 border border-success">###4</div>
<div class="p-2 border border-success">###5</div>
<div class="p-2 border border-success">###6</div>
<div class="p-2 border border-success">###7</div>
<div class="p-2 border border-success">###8</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-between" style="height:300px">
<div class="p-2 border border-success">###1</div>
<div class="p-2 border border-success">###2</div>
<div class="p-2 border border-success">###3</div>
<div class="p-2 border border-success">###4</div>
<div class="p-2 border border-success">###5</div>
<div class="p-2 border border-success">###6</div>
<div class="p-2 border border-success">###7</div>
<div class="p-2 border border-success">###8</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-around" style="height:300px">
<div class="p-2 border border-success">###1</div>
<div class="p-2 border border-success">###2</div>
<div class="p-2 border border-success">###3</div>
<div class="p-2 border border-success">###4</div>
<div class="p-2 border border-success">###5</div>
<div class="p-2 border border-success">###6</div>
<div class="p-2 border border-success">###7</div>
<div class="p-2 border border-success">###8</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-stretch" style="height:300px">
<div class="p-2 border border-success">###1</div>
<div class="p-2 border border-success">###2</div>
<div class="p-2 border border-success">###3</div>
<div class="p-2 border border-success">###4</div>
<div class="p-2 border border-success">###5</div>
<div class="p-2 border border-success">###6</div>
<div class="p-2 border border-success">###7</div>
<div class="p-2 border border-success">###8</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
<div class="p-2 border border-success">###9</div>
</div>
<!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
警告提示框
-
警告框样式
- 使用.alert设置警告框基础样式,并使用.alert: success设置警告框颜色;
- 在使用了警告框的元素内部设置超链接alert-link,会搭配相应的颜色;
- 使用.aler]- heading可以设置继承颜色,alert本身也可以设置水 平线段落等;
-
警告框组件
- 按出和按钮就在组件一栏, 可以和浏览器交互功能,警告框的关闭效果,通过data -dismiss=" alert" 实现父元素关闭;
- .fade和.show实现了关闭后的淡出效果;
- .alert- dismissible从调试器可以看到是padding -rigt:4rem;
- 真正实现关闭效果的只有data-dismiss=" alert" ;
- 直接使用脚本的方式也可以关闭;
-
组件会提供一些更加深入的脚本使用方法,包括各种方法和事件。
样例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>弹性布局</title>
<!-- 移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 引入Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.css">
<style>
</style>
</head>
<div class="alert alert-success">融职教育</div>
<div class="alert alert-primary">融职教育</div>
<div class="alert alert-secondary">融职教育</div>
<div class="alert alert-danger">融职教育</div>
<div class="alert alert-warning">融职教育</div>
<div class="alert alert-info">融职教育</div>
<div class="alert alert-light">融职教育</div>
<div class="alert alert-dark">融职教育</div>
<div class="alert alert-success">
融职教育
<a href="https://www.eduwork.cn" class="alert-link">www.eduwork.cn</a>
</div>
<div class="alert alert-success">
<h4 class="alert-heading">融职教育</h4>
<hr>
<a href="https://www.eduwork.cn" class="alert-link">www.eduwork.cn</a>
<p>在工作中学习, 在学习中工作!</p>
</div>
<div class="alert alert-warning one">
你确定要关闭吗?
<button class="close two">×</button>
</div>
<div class="alert alert-warning alert-dismissible fade show">
你确定要关闭吗?
<button class="close" data-dismiss="alert">×</button>
</div>
<!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
<script>
$(".two").click(function(){
$('.one').alert('close');
});
</script>
</body>
</html>
徽章和面包屑布局
- 徽章样式
- 使用.badge 设置徽章基础样式,并使用.badge -success等设置徽章颜色;
- .badeg- pill将徽章设置成椭圆胶囊式;
- 在超链接使用徽章,鼠标悬停时会换色;
- 面包屑导航
- 使用.breadcrumb设置- 个层次导航(- 行分割显示);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!-- 移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 引入Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.css">
<style>
</style>
</head>
<h1>EduWork <span class="badge badge-secondary">cn</span></h1>
<h2>EduWork <span class="badge badge-success">cn</span></h2>
<h3>EduWork <span class="badge badge-info">cn</span></h3>
<h4>EduWork <span class="badge badge-danger">cn</span></h4>
<h5>EduWork <span class="badge badge-warning">cn</span></h5>
<h6>EduWork <span class="badge badge-light">cn</span></h6>
<h6>EduWork <span class="badge badge-dark">cn</span></h6>
<h3>EduWork <span class="badge badge-info badge-pill">cn</span></h3>
<h3>EduWork <a href="#" class="badge badge-info badge-pill">cn</a></h3>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item" ><a href="#">Home</a></li>
<li class="breadcrumb-item" ><a href="#">Java</a></li>
<li class="breadcrumb-item active"><ahref="#">J2SE</a></li>
</ol>
</nav>
<!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
按钮和按钮组
- 按钮样式
- 使用.btn和.btn-* 实现按钮的预设样式;
- .btn不单单在< button>元素下使用,也可以在<a>、<input> 下使用;
- 使用. btn .btn-outline -*可以实现按钮的轮廓效果;
- 使用.btn-lg或.btn-sm可以实现按钮尺寸的大和小;
- 使用.btn-block将按钮进行block区块设置;
- 使用.active启用按钮(默认),使用. disabled禁用按钮,注意<a>的禁用(写在class里面, 其它写在外面) ;
- 添加data-toggle=" button" 实现按钮切换效果,使用active可以默认按下;
- 按钮组样式
- 使用.btn-group实现传统方案的复选框和单选框样式;
- 使用.btn-group .btn-group-toggle实现全新方案的复选框和单选框;
- 使用.btn-group构建普通的按钮组;
- 使用.btn- toolbar构建分页工具类;
- 使用.btn-group-lg和.btn-group-sm实现大尺寸和小尺寸;
- 使用.btn-group-vertical设置垂直按钮组;
样例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!-- 移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 引入Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.css">
<style>
body {
padding:20px;
}
</style>
</head>
<button class="btn btn-primary">我是按钮</button>
<button class="btn btn-secondary">我是按钮</button>
<button class="btn btn-success">我是按钮</button>
<button class="btn btn-danger">我是按钮</button>
<button class="btn btn-warning">我是按钮</button>
<button class="btn btn-info">我是按钮</button>
<button class="btn btn-light">我是按钮</button>
<button class="btn btn-dark">我是按钮</button>
<button class="btn btn-link">我是按钮</button>
<button class="btn btn-outline-primary">我是按钮</button>
<a href="#" class="btn btn-success">我是链接</a>
<input type="button" class="btn btn-success" value="我是按钮">
<input type="button" class="btn btn-danger" value="我是按钮">
<br>
<button class="btn btn-primary btn-lg">我是按钮</button>
<button class="btn btn-primary btn-sm">我是按钮</button>
<button class="btn btn-primary">我是按钮</button>
<br>
<button class="btn btn-primary btn-block">我是按钮</button>
<br>
<a href="#" class="btn btn-success disabled">我是链接</a>
<input type="button" class="btn btn-danger" disabled value="我是按钮">
<br>
<button class="btn btn-info" data-toggle="button">我是按钮</button>
<br>
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary active">
<input type="checkbox" checked> Java
</label>
<label class="btn btn-secondary">
<input type="checkbox"> PHP
</label>
<label class="btn btn-secondary">
<input type="checkbox"> Python
</label>
</div>
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary active">
<input type="radio" name="lang" checked> Java
</label>
<label class="btn btn-secondary">
<input type="radio" name="lang"> PHP
</label>
<label class="btn btn-secondary">
<input type="radio" name="lang"> Python
</label>
</div>
<br>
<div class="btn-group mt-5">
<button class="btn btn-secondary">左</button>
<button class="btn btn-secondary">中</button>
<button class="btn btn-secondary">右</button>
</div>
<br>
<div class="btn-toolbar">
<div class="btn-group mt-5 mr-2">
<button class="btn btn-secondary">1</button>
<button class="btn btn-secondary">2</button>
<button class="btn btn-secondary">3</button>
<button class="btn btn-secondary">4</button>
<button class="btn btn-secondary">5</button>
</div>
<div class="btn-group mt-5">
<button class="btn btn-secondary">6</button>
<button class="btn btn-secondary">7</button>
<button class="btn btn-secondary">8</button>
</div>
</div>
<div class="btn-group mt-5 btn-group-lg">
<button class="btn btn-secondary">6</button>
<button class="btn btn-secondary">7</button>
<button class="btn btn-secondary">8</button>
</div>
<div class="btn-group mt-5 btn-group-sm">
<button class="btn btn-secondary">6</button>
<button class="btn btn-secondary">7</button>
<button class="btn btn-secondary">8</button>
</div>
<br>
<div class="btn-group-vertical">
<button class="btn btn-secondary">上</button>
<button class="btn btn-secondary">中</button>
<button class="btn btn-secondary">下</button>
</div>
<!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
卡片
- 卡片是一 个内容扩展管理器,可以包含图片、列表、文本、链接等多种组合;
- 先使用 .card来构建卡片,然后可以使用.card-body建立卡片主体内容;
- 卡片主体标题可以使用.card-title(标题) .card-subtitle(副标题)等;
- 片主体使用.card-text代表文本内容;
- 卡片主体使用.card-link代表超链接;
- 使用.card-img-top可以设计一个带主题图片的内容管理器;
- 使用.card-header设置一 个列表组的标头;
- 卡片默认是100%显示的, 可以使用栅格系统嵌套来固定卡片的布局;
- 也可以使用.w-25、 .W-50、 .W-75、 .w-100来设置卡片的显示百分比;
- 卡片中.card-img插入一 个整体的图片, 再配合.card-img-overlay实背景。 这种做法并不是真的作为背景,而是通过定位,让文字浮动在图片上进行编辑;
- 卡片通过内部栅格,也可以实现左右水平排列的图文显示
- 卡片可以定制自己的背景和颜色, 这里并无组件样式,均为之前所配置;
- 卡片可以定制自 己的边框,直接使用之 前边框组件样式即可;
- 在.card元素外层,构建一 个.card-group分组, 可以紧紧将每个卡片贴在一 起;
- .card- group本身就具有栅格系统,但会紧贴, 对应的.card- deck提供间隙;
- 有时, 卡片的高度不一, 上面两种会自动补全,换行也会留有巨大空隙,这时,采用.card-columns可以自我进行填充,均分空隙;
样例一
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!-- 移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 引入Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.css">
<style>
body {
padding:20px;
}
</style>
</head>
<div class="card" style="width:300px">
<div class="card-body">
<div class="card-title">
卡片标题
</div>
<div class="card-subtitle text-muted">
子标题
</div>
<p class="card-text">这是卡片体的部分</p>
</div>
</div>
<br>
<div class="card" style="width:300px">
<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>
<br>
<div class="card">
<div class="card-header">
页头
</div>
<div class="card-body">
主体
</div>
<div class="card-footer">
页脚
</div>
</div>
<br>
<div class="container">
<div class="row">
<div class="col-sm-4">
<div class="card">
<div class="card-header">
页头
</div>
<div class="card-body">
主体
</div>
<div class="card-footer">
页脚
</div>
</div>
</div>
<div class="col-sm-4">
<div class="card">
<div class="card-header">
页头
</div>
<div class="card-body">
主体
</div>
<div class="card-footer">
页脚
</div>
</div>
</div>
<div class="col-sm-4">
<div class="card">
<div class="card-header">
页头
</div>
<div class="card-body">
主体
</div>
<div class="card-footer">
页脚
</div>
</div>
</div>
</div>
</div>
<br>
<div class="card">
<img src="images/banner.jpg" class="card-img-top" alt="">
<div class="card-body">
主体
<br>
<a class="card-link" href="#">登录</a>
<a class="card-link" href="#">注册</a>
</div>
<div class="card-footer">
页脚
</div>
</div>
<!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
样例二
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!-- 移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 引入Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.css">
<style>
body {
padding:20px;
}
</style>
</head>
<div class="card" style="width:500px">
<div class="card-header">
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item"><a class="nav-link active" href="#">主页</a></li>
<li class="nav-item"><a class="nav-link" href="#">内容</a></li>
<li class="nav-item"><a class="nav-link" href="#">其它</a></li>
</ul>
</div>
<div class="card-body">
这是卡片体的部分
</div>
</div>
<br>
<div class="card" style="width:500px">
<div class="card-header">
<ul class="nav nav-pills card-header-pills">
<li class="nav-item"><a class="nav-link active" href="#">主页</a></li>
<li class="nav-item"><a class="nav-link" href="#">内容</a></li>
<li class="nav-item"><a class="nav-link disabled" href="#">其它</a></li>
</ul>
</div>
<div class="card-body">
这是卡片体的部分
</div>
</div>
<br>
<div class="card" style="width:500px">
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
</div>
<br>
<div class="card w-75 text-center bg-info text-white" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-img-overlay">
这是卡片体的部分
</div>
</div>
<br>
<div class="card w-75 bg-info text-white" >
<div class="row">
<div class="col-sm-6">
<img src="images/banner.jpg" class="card-img" alt="">
</div>
<div class="col-sm-6">
<div class="card-title">卡片标题</div>
<div class="card-text">卡片文本</div>
</div>
</div>
</div>
<br>
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<br>
<div class="card-group">
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
</div>
<br>
<div class="card-deck">
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
</div>
<br>
<div class="card-columns">
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
</div>
<div class="card" >
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-body">
这是卡片体的部分
</div>
</div>
<div class="card" >
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<img src="images/banner.jpg" class="card-img" alt="">
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
<div class="card" >
<div class="card-body">
这是卡片体的部分
</div>
<div class="card-footer">
页脚
</div>
</div>
</div>
<!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
列表组
样例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!-- 移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 引入Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.css">
<style>
body {
padding:20px;
}
</style>
</head>
<ul class="list-group">
<li class="list-group-item active">列表组一</li>
<li class="list-group-item">列表组二</li>
<li class="list-group-item">列表组三</li>
<li class="list-group-item">列表组四</li>
<li class="list-group-item disabled">列表组五</li>
</ul>
<br>
<div class="list-group">
<a href="#" class="list-group-item active list-group-item-action">列表组一</a>
<a href="#" class="list-group-item list-group-item-action">列表组二</a>
<a href="#" class="list-group-item list-group-item-action">列表组三</a>
<a href="#" class="list-group-item list-group-item-action">列表组四</a>
<a href="#" class="list-group-item disabled">列表组五</a>
</div>
<br>
<div class="list-group list-group-flush">
<a href="#" class="list-group-item active list-group-item-action">列表组一</a>
<a href="#" class="list-group-item list-group-item-action">列表组二</a>
<a href="#" class="list-group-item list-group-item-action">列表组三</a>
<a href="#" class="list-group-item list-group-item-action">列表组四</a>
<a href="#" class="list-group-item disabled">列表组五</a>
</div>
<br>
<ul class="list-group list-group-horizontal-sm">
<li class="list-group-item active">列表组一</li>
<li class="list-group-item">列表组二</li>
<li class="list-group-item">列表组三</li>
<li class="list-group-item">列表组四</li>
<li class="list-group-item disabled">列表组五</li>
</ul>
<br>
<div class="list-group list-group-flush">
<a href="#" class="list-group-item active list-group-item-action list-group-item-info">列表组一</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-success">列表组二</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-danger">列表组三</a>
<a href="#" class="list-group-item list-group-item-action">列表组四</a>
<a href="#" class="list-group-item disabled">列表组五</a>
</div>
<br>
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
列表组一
<span class="badge badge-primary ">99</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">列表组二
<span class="badge badge-danger ">5</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">列表组三
<span class="badge badge-success ">3</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">列表组四
<span class="badge badge-primary ">109</span>
</li>
<li class="list-group-item disabled">列表组五</li>
</ul>
<!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>