多媒体查询
媒体查询可用于检测很多事情,例如:
- viewport(视窗) 的宽度与高度
- 设备的宽度与高度
- 朝向 (智能手机横屏,竖屏) 。
- 分辨率
目前很多针对苹果手机,Android 手机,平板等设备都会使用到多媒体查询。
多媒体查询语法
多媒体查询由多种媒体组成,可以包含一个或多个表达式,表达式根据条件是否成立返回 true 或 false。
@media not|only mediatype and (expressions) {
css代码…;
}
如果指定的多媒体类型mediatype 匹配当前的设备类型,则查询结果返回 true,文档会在匹配的设备上显示指定样式效果。
not 或 only 操作符,排除或指定特定设备显示效果。
not: 用来排除掉某些特定的设备的,比如 @media not print(非打印设备)。
only: 用来定某种特别的媒体类型。对于支持Media Queries的移动设备来说,如果存在only关键字,移动设备的Web浏览器会忽略only关键字并直接根据后面的表达式应用样式文件。对于不支持Media Queries的设备但能够读取Media Type类型的Web浏览器,遇到only关键字时会忽略这个样式文件。
all: 所有设备,这个应该经常看到。
mediatype 多媒体类型
值 | 描述 |
---|---|
all | 用于所有多媒体类型设备 |
用于所有多媒体类型设备 | |
screen | 用于电脑屏幕,平板,智能手机等。 |
speech | 用于屏幕阅读器 |
简单实例
在可视窗口分辨率大于 480px 时修改背景颜色:
@media screen and (min-width: 480px) {
body {
background-color: red;
}
}
在可视窗口分辨率在 500px 到 1000px 之间时修改背景颜色:
@media screen and (max-width: 1000px) and (min-width: 500px) {
body {
background-color: red;
}
}