Web前端105天-day13-BOOT

day13

目录

前言

一、 响应式

1.响应式的概念

2.设备的宽度

3.媒体查询的规则

4.响应式断点

5.相对于视口的尺寸

二、 Bootstrap

1.Bootstrap概述

2.学习UI框架的终极意义

3.Bootstrap5的文档查询

4.各个版本的区别

5.练习时使用的模板代码

三、Bootstrap5的响应式

1.断点breakpoint

2.容器container

3.天沟gutter

四、Bootstrap的基础内容

1.颜色color

2.标题title

3.列表

4.表格table

5.表单

五、工具类

1.尺寸Sizing

2.间距

总结


前言

day13学习开始,进入bootstrap的学习


一、 响应式

1.响应式的概念

  • 随着多种移动端的兴起,再加上多种设备的大量需求,出现了多种终端
  • 我们需要在不同的设备上通过”媒体查询”改变不同的布局 文本 图片 达到合适的效果

2.设备的宽度

  • 需要使用到meta标签
<!-- 1.添加meta标签 meta:vp补全代码即可-->
<!-- 2.vscode会自动生成 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
  • width=device-width 视口宽度=设备宽度
  • initial-scale=1.0 初始化视口不缩放

3.媒体查询的规则

@media (min-width:992px){
	.box {width: 250px;height: 250px;}
	body {background-color: lightyellow;}
}
@media (min-width:1200px){
	.box {width: 300px;height: 300px;}
	body {background-color: plum;}
}

4.响应式断点

  • 我们需要考虑多种设备具有多种尺寸,我们需要确定在什么尺寸下匹配怎样的样式
    • 手机:小于等于480px
    • 手机和平板:小于等于768px
    • 低端显示器: 大于等于980px
    • 普通显示器:大于等于1200px
    • 高清显示器: 大于等于1400px

5.相对于视口的尺寸

  • vw(viewport width)视口宽度
  • vh (viewport height) 视口高度
  • 1vw=视口(浏览器可视区域)宽度的1%
  • 1vh=视口(浏览器可视区域)高度的1%
  • 100vw就相当于浏览器可视区域的宽度
  • 100vh就相当于浏览器可视区域的高度

二、 Bootstrap

1.Bootstrap概述

  • 是由推特公司的两名工程师,基于html css js开发的简洁 开源 强大 优雅的UI框架
  • 至今经历了5个大版本,我们现在学习的就是最新的Boot5
  • Bootstrap内置了大量的css类供我们使用,直接给我们的元素使用预设好的类或者功能即可

2.学习UI框架的终极意义

  • 学习UI框架要学会如何查文档,运用文档
  • 市面上的UI框架很多,企业会用哪一个不一定,但工作中一定会遇到框架

3.Bootstrap5的文档查询

文档地址:https://v5.bootcss.com/docs/5.1/getting-started/introduction/

4.各个版本的区别

  • 任何的框架都会升级,框架升级后会有一些改动,可能会对内容进行增删改,所以一个要查对应版本的手册
  • 注意:工作中,一定要先看公司的项目中的框架版本,会在公司的开发手册中体现
  • 版本5的改动比较大,原来JS依赖JQuery,现在不依赖了,也不再兼容IE
  • 对于很多类名也有改动,最大的改动就是左 右,如,以前是float-left 现在是float-start
  • 也就是所有的左变成了start 所有的右变成了end

5.练习时使用的模板代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>模板文件</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link rel="stylesheet" href="../css/bootstrap.css"/>
        <!-- 参看文档,生产文件需要单独下载或者直接引用-->
		<link rel="stylesheet" href="../css/bootstrap-icons.css"/>
		<script src="../js/bootstrap.bundle.js"></script>
	</head>
	<body>
	</body>
</html>

三、Bootstrap5的响应式

文档地址:https://v5.bootcss.com/docs/layout/breakpoints/

1.断点breakpoint

  • Boot5中,我们设置了5+1个断点,已经写好了媒体查询,使用类中缀可以直接对应某个响应式的范围,用于响应式的快速构建
  • TIPS:想在源码中查找内容,可以按Ctrl+F(Find)搜索关键词,推荐使用关键的类名查询,可能会匹配到多个,旁边有上下键,可以查询
  • 这个是bootstrap.css中的源码,搜.container可得
  • 5+1个断点,所以没有写类中缀的就是小于576px,一般是手机或者更小的设备
    @media (min-width: 576px) { 类中缀sm 平板 }
    @media (min-width: 768px) { 类中缀md 窄屏电脑 }
    @media (min-width: 992px) { 类中缀lg 普通电脑 }
    @media (min-width: 1200px) { 类中缀xl 宽屏电脑 }
    @media (min-width: 1400px) { 类中缀xxl 高清设备或者广告投放设备 }

2.容器container

文档地址:https://getbootstrap.com/docs/5.1/layout/containers/

  • sm: 页面宽度在576px~768px之间,版心宽度:540px
  • md: 页面宽度在768px~992px之间,版心宽度:720px
  • lg: 页面宽度在992px~1200px之间,版心宽度960px
  • xl: 页面宽度在1200px~1400px之间,版心宽度:1140px
  • xxl: 页面宽度在1400px以上,版心宽度:1320px
  • 如果使用的是变宽容器的话,版心宽度永远都是100%
  • boot中容器有3种写法
    • .container 它会自动适配断点,叫做定宽容器,会按照响应式中的最大宽度体现,并且居中,左右有天沟(左右各有12px的内间距)

    • .container-fluid 全宽适配,变宽容器。会撑满整个视口的全部宽度,左右有天沟(左右各有12px的内间距)

    • .container-{*} 直接指定断点的类,用的很少

3.天沟gutter

  • 天沟这个词是翻译得来的,指的是容器中左右两侧的内间距
  • 让容器中的内容不至于紧贴容器两侧。
  • 默认左右两侧各0.75rem,共1.5rem(24px)

四、Bootstrap的基础内容

1.颜色color

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试颜色</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link rel="stylesheet" href="../css/bootstrap.css"/>
		<link rel="stylesheet" href="../css/bootstrap-icons.css"/>
		<script src="../js/bootstrap.bundle.js"></script>
		<style>
			.zdy-h {
				height: 100px;
			}
		</style>
	</head>
	<body>
		<div class="zdy-h bg-primary">蓝色</div>
		<div class="zdy-h bg-secondary">灰色</div>
		<div class="zdy-h bg-success">绿色</div>
		<div class="zdy-h bg-transparent">透明色</div>
		<div class="zdy-h bg-danger">红色</div>
		<div class="zdy-h bg-warning">黄色</div>
		<div class="zdy-h bg-info">蓝绿色</div>
		<div class="zdy-h bg-light">亮色</div>
		<div class="zdy-h bg-dark">暗色</div>
		<a href="#" class="link-danger">链接色</a>
		<a href="#" class="link-success">链接色</a>
	</body>
</html>

2.标题title

3.列表

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试标题字</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link rel="stylesheet" href="../css/bootstrap.css"/>
		<link rel="stylesheet" href="../css/bootstrap-icons.css"/>
		<script src="../js/bootstrap.bundle.js"></script>
	</head>
	<body>
		<!-- 具有标题语义 -->
		<div class="h1 text-danger bg-warning">我是标题(红色字text,黄色背景,变成大标题)</div>
		<!-- 不是标题,但是想有标题格式 -->
		<div class="display-5">我不是标题,但我想变大</div>
		<div class="display-1">我不是标题,但我想变的更大</div>
		<!-- 去掉列表项前标识符 -->
		<ul class="list-unstyled">
			<li>列表项1</li>
			<li>列表项2</li>
		</ul>
	</body> 
</html>

 

4.表格table

  • 文档地址:Tables · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • .table 基类,必须写,有了基类其他的辅助类才会生效,加给<table>
  • .table-striped 条形纹,让表格隔行变色
  • .table-hover 鼠标悬停变色效果,悬停到对应的行会变色
  • .table-bordered 给表格添加边框
  • .border-{primary} 设置边框的颜色
  • .table-{dark} 表格的颜色,还可以加在tr td th上面
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表格练习table</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link rel="stylesheet" href="../css/bootstrap.css"/>
		<link rel="stylesheet" href="../css/bootstrap-icons.css"/>
		<script src="../js/bootstrap.bundle.js"></script>
	</head>
	<body>
		<div class="container">
			<table class="table table-striped table-hover table-bordered border-primary">
				<thead class="table-dark">
					<tr>
						<th>#</th>
						<th>品牌</th>
						<th>商品名</th>
						<th>价格</th>
						<th>操作</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td>1</td>
						<td>戴尔</td>
						<td>MS116鼠标有线</td>
						<td>¥ 19.90</td>
						<td>
							<button>编辑</button>
							<button>删除</button>
						</td>
					</tr>
					<tr>
						<td>1</td>
						<td>戴尔</td>
						<td>MS116鼠标有线</td>
						<td>¥ 19.90</td>
						<td>
							<button>编辑</button>
							<button>删除</button>
						</td>
					</tr>
					<tr>
						<td>1</td>
						<td>戴尔</td>
						<td>MS116鼠标有线</td>
						<td>¥ 19.90</td>
						<td>
							<button>编辑</button>
							<button>删除</button>
						</td>
					</tr>
					<tr>
						<td>1</td>
						<td>戴尔</td>
						<td>MS116鼠标有线</td>
						<td>¥ 19.90</td>
						<td>
							<button>编辑</button>
							<button>删除</button>
						</td>
					</tr>
					<tr>
						<td>1</td>
						<td>戴尔</td>
						<td>MS116鼠标有线</td>
						<td>¥ 19.90</td>
						<td>
							<button>编辑</button>
							<button>删除</button>
						</td>
					</tr>
					<tr>
						<td>1</td>
						<td>戴尔</td>
						<td>MS116鼠标有线</td>
						<td>¥ 19.90</td>
						<td>
							<button>编辑</button>
							<button>删除</button>
						</td>
					</tr>
				</tbody>
			</table>
		</div>
	</body>
</html>

 

5.表单

  • 文档地址:Forms · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • 文本输入框与关联文字:.form-control 加给input标签的class值
  • 下拉菜单:. form-select 下拉菜单必写的类,写给select标签
  • 单选复选框:.form-check 单选复选框都用此类,具体是单选还是多选取决于type=”checkbox/radio”
  • 输入组:.inputgroup 里面可以包含多个输入的控件,可以灵活选择

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单练习</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link rel="stylesheet" href="../css/bootstrap.css"/>
		<link rel="stylesheet" href="../css/bootstrap-icons.css"/>
		<script src="../js/bootstrap.bundle.js"></script>
	</head>
	<body>
		<div class="container">
			<form>
			  <div class="mb-3">
			    <label for="uname" class="form-label">用户名</label>
			    <input class="form-control" id="uname">
			  </div>
			  <div class="mb-3">
			    <label for="upwd" class="form-label">密码</label>
			    <input type="password" class="form-control" id="upwd">
			  </div>
			  <div class="mb-3 form-check">
			    <input type="checkbox" class="form-check-input" id="exampleCheck1">
			    <label class="form-check-label" for="exampleCheck1">请同意此协议</label>
			  </div>
				<select class="form-select">
				  <option selected>请选择喜欢的食物</option>
				  <option value="1">火锅</option>
				  <option value="2">大盘鸡</option>
				  <option value="3">羊肉串</option>
				  <option value="4">大闸蟹</option>
				</select>
				
				<p class="h4 my-3">请选择你的爱好</p>
				<div class="form-check form-check-inline">
				  <input class="form-check-input" type="checkbox" id="b1" value="option1">
				  <label class="form-check-label" for="b1">游泳</label>
				</div>
				<div class="form-check form-check-inline">
				  <input class="form-check-input" type="checkbox" id=b2" value="option2">
				  <label class="form-check-label" for="b2">蹦迪</label>
				</div>
				<div class="form-check form-check-inline">
				  <input class="form-check-input" type="checkbox" id="b3" value="option3" disabled>
				  <label class="form-check-label" for="b3">打游戏(disabled)</label>
				</div>
				<div class="my-3">
					<div class="form-check form-check-inline">
					  <input class="form-check-input" type="radio" name="gender" id="r1" value="1">
					  <label class="form-check-label" for="r1">男</label>
					</div>
					<div class="form-check form-check-inline">
					  <input class="form-check-input" type="radio" name="gender" id="r2" value="0">
					  <label class="form-check-label" for="r2">女</label>
					</div>
				</div>
				
				<div class="w-50">
						<div class="input-group mb-3">
							<input type="text" class="form-control">
							<span class="input-group-text bg-primary text-white">刘冉北京</span>
						</div>
				</div>
				<button type="submit" class="btn btn-primary">登录</button>
			</form>
		</div>
	</body>
</html>

 

五、工具类

1.尺寸Sizing

  • 文档地址:尺寸(Sizing) · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • 宽度和高度
    • ​​​​​​​在boot中提供的宽度和高度的类是百分比形式存在的
    • 宽度 .w-{number} 支持25 50 75 100 auto

    • 高度 .h-{number} 支持25 50 75 100 auto

    • 注意:高度是父级元素的百分比,所以父级要有高度才能参照,否则设置无效

  • 相对于视口的尺寸
    • vw-100 相对于视口的宽度,表示全屏宽度

    • vh-100 相对于视口的高度,表示全屏高度

    • 注意:没有25 50 75这些值,源码中未定义!

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>尺寸练习</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link rel="stylesheet" href="../css/bootstrap.css"/>
		<link rel="stylesheet" href="../css/bootstrap-icons.css"/>
		<script src="../js/bootstrap.bundle.js"></script>
		<style>
			.zdy-h {
				height: 100px;
			}
		</style>
	</head>
	<body>
		<div class="container"><!-- 定宽容器 -->
			<div class="bg-warning"><!-- 宽度随着版心的变化而变化,颜色为黄色 -->
				<div class="w-25 zdy-h bg-danger">占父级宽度的25%,高度是自定义高度100px,颜色为红色</div>
				<div class="w-50 zdy-h bg-danger">占父级宽度的50%,高度是自定义高度100px,颜色为红色</div>
				<div class="w-75 zdy-h bg-danger">占父级宽度的75%,高度是自定义高度100px,颜色为红色</div>
				<div class="w-100 zdy-h bg-danger">占父级宽度的100%,高度是自定义高度100px,颜色为红色</div>
			</div>
			
			<div class="zdy-h bg-primary">
				<div class="h-50 bg-success">高度为父级高度的50% 绿色</div>
			</div>
			<div>
				<div class="h-50 bg-info">思考:父级没高度,这里的高度是什么?</div>
			</div>
		</div>
		<!-- 需求:写一个撑满全屏宽度 高度的div 颜色为灰色 -->
		<div class="container-fluid">
			<div class="bg-secondary vw-100 vh-100"></div>
		</div>
	</body>
</html>

 

2.间距

  • 间距包括内间距和外间距,内间距使用p-* 外间距使用m-*
  • 间距的宽度(距离)
    • ​​​​​​​m-{number} 0~5 外间距,1是0.25rem,四个方向共同使用一个距离的外间距
    • p-{number} 0~5 内间距,1是0.25rem,四个方向共同使用一个距离的内间距

  • 间距的方向

    • ​​​​​​​上内、外间距 pt-{number} 和 mt-{number}

    • 下内、外间距 pb-{number} 和 mb-{number}

    • 左内、外间距 ps-{number} 和 ms-{number}

    • 右内、外间距 pe-{number} 和 me-{number}

    • 垂直方向的内、外间距 py-{number} 和 my-{number}

    • 水平方向的内、外间距 px-{number} 和 mx-{number}

    • 特殊值: 外间距的auto值,mx-auto水平方向的自动居中

  • 响应式的内外间距需要加类中缀

    • p-{类中缀}-{number} 响应式写法的内间距

    • m-{类中缀}-{number} 响应式写法的外间距

    • 响应式写法会随着.container的变化而变化

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>work1</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link rel="stylesheet" href="../css/bootstrap.css"/>
		<link rel="stylesheet" href="../css/bootstrap-icons.css"/>
		<script src="../js/bootstrap.bundle.js"></script>
	</head>
	<body>
    <!-- 
      间距也可以做成响应式,随着设备的变大而变大
			需求:py设置垂直方向的内间距,要求:
			sm的情况下,使用8px
			md的情况下,使用16px
			lg的情况下,使用24px
			其他剩余情况间距都为4px,也就是py-1
     -->
     
		 <div class="bg-success py-1 py-sm-2 py-md-3 py-lg-4 py-xl-5 ">内容</div>
	</body>
</html>




 


总结

Web前端105天-day13,boot第一天学习结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值