响应式网页:同一套代码适配不同的屏幕宽度
1. 媒体查询
目标:能够根据设备宽度的变化,设置差异化样式
常用写法:
/* 媒体特性采用写法
max-width
min-width */
@media(媒体特性){
选择器{
样式
}
}
/* 视口宽度小于等于768px, 网页背景色是粉色 */
@media (max-width: 768px) {
body {
background-color: pink;
}
}
/* 视口宽度大于等于1200px, 网页背景色是skyblue */
@media (min-width: 1200px) {
body {
background-color: skyblue;
}
}
媒体查询的书写顺序
css属性都有层叠性:
min-width(从小到大)
max-width(从大到小)
/*
视口宽度 >= 768px,网页背景色是 粉色
视口宽度 >= 992px,网页背景色是 绿色
视口宽度 >= 1200px,网页背景色是 skyblue
*/
@media (min-width: 768px) {
body {
background-color: pink;
}
}
@media (min-width: 992px) {
body {
background-color: green;
}
}
@media (min-width: 1200px) {
body {
background-color: skyblue;
}
}
完整写法(了解即可):
@media 关键词 媒体类型 and(媒体特性){css代码}
媒体查询 – 外联式引入css
<link rel="stylesheet" media="逻辑符 媒体类型 and (媒体特性)" href="xx.css" >
<!-- 视口宽度 >= 992px,网页背景色为粉色 -->
<!-- 视口宽度 >= 1200px,网页背景色为绿色 -->
<link rel="stylesheet" href="./one.css" media="(min-width: 992px)">
<link rel="stylesheet" href="./two.css" media="(min-width: 1200px)">
媒体查询 – 隐藏侧边栏
在相应类的css属性添加display: none;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.box {
display: flex;
width: 100%;
}
.left {
width: 300px;
min-height: 500px;
background-color: pink;
}
.main {
flex: 1;
min-height: 500px;
background-color: skyblue;
}
/* 如果检测到视口宽度小于768px, left隐藏 */
@media (max-width: 768px) {
.left {
display: none;
}
}
</style>
</head>
<body>
<div class="box">
<div class="left">left</div>
<div class="main">响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页</div>
</div>
</body>
</html>
2. BootStrap
目标:使用BootStrap框架快速开发响应式网页
Bootstrap 是由 Twitter 公司开发维护的前端 UI框架,它提供了大量编写好的 CSS 样式,允许开发者结合一定HTML 结构及JavaScript,快速编写功能完善的网页及常见交互效果
2.1 BootStrap下载
中文官网: https://www.bootcss.com/
首页 --> BootStrap3中文文档 --> 下载BootStrap
2.2 BootStrap使用
步骤:
- 引入: BootStrap提供的CSS代码
<link rel="stylesheet" href="/bootstrap-3.3.7/css/bootstrap.css">
- 调用类:使用Bootstrap提供的样式
container:响应式布局版心类
2.3 BootStrap栅格系统
目标:使用BootStrap栅格系统布局响应式网页
原理
栅格化是指将整个网页的宽度分成若干等份
BootStrap3默认将网页分成12等份
代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>栅格系统</title>
<!-- 1. 引入 -->
<link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
<style>
.container div {
height: 50px;
background-color: pink;
}
</style>
</head>
<body>
<!-- 需求: 大屏: 一行排列4个内容; 中屏:一行排列2个内容 -->
<!-- 2.调用类 -->
<div class="container">
<div class="col-lg-3 col-md-6">1</div>
<div class="col-lg-3 col-md-6">2</div>
<div class="col-lg-3 col-md-6">3</div>
<div class="col-lg-3 col-md-6">4</div>
</div>
</body>
</html>
栅格系统相关类
.container是 Bootstrap 中专门提供的类名,所有应用该类名的盒子,默认已被指定宽度且居中
.container-fluid也是 Bootstrap 中专门提供的类名,所有应用该类名的盒子,宽度均为 100%
分别使用**.row类名和.col类名**定义栅格布局的行和列。
注意:
- container类自带间距15px;
- row类自带间距-15px
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>栅格系统-类</title>
<link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
<style>
div {
height: 50px;
background-color: pink;
margin-bottom: 50px;
}
</style>
</head>
<body>
<!-- 版心样式:自带左右各15px的padding -->
<div class="container">1</div>
<!-- row类作用就是抵消container类的15px的内边距, row有-15px的外边距 -->
<div class="container">
<div class="row">2</div>
</div>
<!-- 宽度100%:自带左右各15px的padding -->
<div class="container-fluid">3</div>
</body>
</html>
2.4 全局样式
目标:掌握BootStrap手册用法,使用全局CSS样式美化标签手册用法
BootStrap预定义了大量类用来美化页面,掌握手册的查找方法是学习全局样式的重点
网站首页 --> BootStrap3中文文档 --> 全局css样式 --> 按分类导航(右侧)查找目标类 --> 复制想要样式的类名粘贴到相应位置中
eg:<table class="table table-striped table-bordered table-hover">
<button class="btn btn-success btn-lg">成功</button>
2.5 组件
Bootstrap 自带了大量可复用的组件,包括字体图标、下拉菜单、导航警告框、弹出框等更多功能。
使用:直接引入样式文件,复制粘贴改内容
2.6 Glyphicons字体图标
目标:使用Glyphicons字体图标实现网页中的图标效果
Glyphicons字体图标的使用步骤:
- HTML页面引入BootStrap样式文件
- 空标签调用对应类名:1. glyphicon 2. 图标类
直接去手册复制粘贴
2.7 插件
目标:使用BootStrap插件实现常见的交互效果
插件的使用步骤:
- HTML页面引入BootStrap样式文件
- 前引入js文件:jQuery.js + BootStrap.min.js(先引jQuery.js 后引 BootStrap.min.js)
- 复制HTML结构,并适当调整结构或内容
<script src="./js/jquery.js"></script>
<script src="./bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>