移动适配一
媒体查询
什么是媒体查询
媒体查询(Media Query)是CSS3新语法。
使用 @media查询,可以针对不同的媒体类型定义不同的样式
@media 可以针对不同的屏幕尺寸设置不同的样式
重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面
手机,平板等设备都用得到多媒体查询
媒体查询语法规范
用 @media开头 注意@符号
mediatype 媒体类型
all 用于所有设备
print 用于打印机和打印预览
scree 用于电脑屏幕,平板电脑,智能手机等
关键字
关键字将媒体类型或多个媒体特性连接到一起做为媒体查询的条件
and:可以将多个媒体特性连接到一起,相当于“且”的意思。
not:排除某个媒体类型,相当于“非”的意思,可以省略。
only:指定某个特定的媒体类型,可以省略。
media feature 媒体特性
必须有小括号包含
不同媒体类型的媒体特性设置不同的展示风格
width 定义输出设备中页面可见区域的宽度
min-width 定义输出设备中页面最小可见区域宽度
max-width 定义输出设备中页面最大可见区域宽度
媒体查询常用代码:
@media (min-width: 768px) {
body {
background-color: pink;
}
}
@media (min-width: 992px) {
body {
background-color: green;
}
}
@media (min-width: 1200px) {
body {
background-color: skyblue;
}
}
rem布局
1:rem适配布局
rem单位
是一个相对单位,类似于em,em是父元素字体大小
不同的是rem的基准是相对于html元素的字体大小
rem的优势:父元素文字大小可能不一致, 但是整个页面只有一个html,可以很好来控制整个页面的元素大小
/* 根html 为 12px /
html {
font-size: 12px;
}
/ 此时 div 的字体大小就是 24px */
div {
font-size: 2rem;
}
媒体查询和rem
案例示例:
<!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>rem适配</title>
<style>
/* 视口宽度320px, 根字号为32px */
@media (width: 320px) {
html {
font-size: 32px;
}
}
/* 视口宽度375px, 根字号为37.5px */
@media (width: 375px) {
html {
font-size: 37.5px;
}
}
/* 视口宽度414px, 根字号为41.4px */
@media (width: 414px) {
html {
font-size: 41.4px;
}
}
* {
margin: 0;
padding: 0;
}
.box {
width: 5rem;
height: 5rem;
background-color: pink;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>