媒体查询(Media Query)
什么是媒体查询?
媒体查询(Media Query)是CSS3新语法。
- 使用 @media查询,可以针对不同的媒体类型定义不同的样式
- @media 可以针对不同的屏幕尺寸设置不同的样式
- 当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面
- 目前针对很多苹果手机、Android手机,平板等设备都用得到媒体查询
媒体查询语法
- 用 @media开头 注意@符号
- mediatype 媒体类型
- and|not|only:或(表示两个条件同时满足);非(表示不满足后面的条件时);只有(只有在后面的条件下才能执行)
- media feature:注意,后面的小括号一定要有,表示媒体功能(设备条件)
语法
@media mediatype and|not|only (media feature) {
CSS-Code;
}
用法
// 1.在css语句中使用
@media screen and (max-width: 400px) {
// 这里写你在当前条件下想要展示的样式
.inner {
height: 100px;
width: 25%;
background-color: brown;
}
}
// 2.在引入css样式的link语句中写入
// 表示在符合的条件下引入
<link rel="stylesheet" media="screen and (max-width: 400px)" href="mystylesheet.css">
mediatype的值
mediatype将不同的终端设备划分成不同的类型,称为媒体类型
- all:用于所有设备
- print:用于打印机和打印预览
- screen:用于电脑屏幕、平板电脑、智能手机等
- speech:应用于屏幕阅读发声设备
and|not|only(关键字)
- 关键字将媒体类型或多个媒体特性连接到一起做为媒体查询的条件。
media feature的值
aspect-ratio | 定义输出设备中的页面可见区域宽度与高度的比率 |
color | 定义输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于0 |
color-index | 定义在输出设备的彩色查询表中的条目数。如果没有使用彩色查询表,则值等于0 |
device-aspect-ratio | 定义输出设备的屏幕可见宽度与高度的比率。 |
device-height | 定义输出设备的屏幕可见高度。 |
device-width | 定义输出设备的屏幕可见宽度。 |
grid | 用来查询输出设备是否使用栅格或点阵。 |
height | 定义输出设备中的页面可见区域高度。 |
max-aspect-ratio | 定义输出设备的屏幕可见宽度与高度的最大比率。 |
max-color | 定义输出设备每一组彩色原件的最大个数。 |
max-color-index | 定义在输出设备的彩色查询表中的最大条目数。 |
max-device-aspect-ratio | 定义输出设备的屏幕可见宽度与高度的最大比率。 |
max-device-height | 定义输出设备的屏幕可见的最大高度。 |
max-device-width | 定义输出设备的屏幕最大可见宽度。 |
max-height | 定义输出设备中的页面最大可见区域高度。 |
max-monochrome | 定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。 |
max-resolution | 定义设备的最大分辨率。 |
max-width | 定义输出设备中的页面最大可见区域宽度。 |
min-aspect-ratio | 定义输出设备中的页面可见区域宽度与高度的最小比率。 |
min-color | 定义输出设备每一组彩色原件的最小个数。 |
min-color-index | 定义在输出设备的彩色查询表中的最小条目数。 |
min-device-aspect-ratio | 定义输出设备的屏幕可见宽度与高度的最小比率。 |
min-device-width | 定义输出设备的屏幕最小可见宽度。 |
min-device-height | 定义输出设备的屏幕的最小可见高度。 |
min-height | 定义输出设备中的页面最小可见区域高度。 |
min-monochrome | 定义在一个单色框架缓冲区中每像素包含的最小单色原件个数 |
min-resolution | 定义设备的最小分辨率。 |
min-width | 定义输出设备中的页面最小可见区域宽度。 |
monochrome | 定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于0 |
orientation | 定义输出设备中的页面可见区域高度是否大于或等于宽度。 |
resolution | 定义设备的分辨率。如:96dpi, 300dpi, 118dpcm |
scan | 定义电视类设备的扫描工序。 |
width | 定义输出设备中的页面可见区域宽度。 |
媒体查询书写规则
- 为了防止混乱,媒体查询我们要按照从小到大或者从大到小的顺序来写,但是我们最喜欢的还是从小到大来写,这样代码更简洁
- 利用媒体查询实现不同屏幕适配不同样式,发现规律可简写为判断
- 其原理是利用后面会层叠前面的样式
注意:
- 在移动端开发中我们必须掌握媒体查询+rem实现元素动态大小变化