css2多媒体类型
@media
规则在 CSS2 中有介绍,针对不同媒体类型可以定制不同的样式规则。
例如:你可以针对不同的媒体类型(包括显示器、便携设备、电视机,等等)设置不同的样式规则。
但是这些多媒体类型在很多设备上支持还不够友好
css3多媒体查询
SS3 的多媒体查询继承了 CSS2 多媒体类型的所有思想: 取代了查找设备的类型,CSS3 根据设置自适应显示。
媒体查询可用于检测很多事情,例如:
- viewport(视窗) 的宽度与高度
- 设备的宽度与高度
- 朝向 (智能手机横屏,竖屏) 。
- 分辨率
目前很多针对苹果手机,Android 手机,平板等设备都会使用到多媒体查询
媒体类型:
all:用于所有的多媒体类型设备
print:用于打印机
screen:用于电脑屏幕、智能手机、平板
speech:用于屏幕阅读器
媒体查询的使用方法
媒体查询能在不同的条件下使用不同的样式,使页面在不同的终端设备下达到不同的渲染效果
语法:@media 媒体类型 and (媒体特性){css代码}
如果指定的多媒体类型匹配设备类型则查询结果返回 true,文档会在匹配的设备上显示指定样式效果
除非你使用了 not 或 only 操作符,否则所有的样式会适应在所有设备上显示效果
not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)。
only: 用来定某种特别的媒体类型。对于支持Media Queries的移动设备来说,如果存在only关键字,移动设备的Web浏览器会忽略only关键字并直接根据后面的表达式应用样式文件。对于不支持Media Queries的设备但能够读取Media Type类型的Web浏览器,遇到only关键字时会忽略这个样式文件
all: 所有设备,这个应该经常看到
实例:
1.屏幕可视化窗口尺寸小于480像素的设备上修改背景颜色
@media screen and (max-width: 480px) {
body {
background-color: lightgreen;
}
}
2.多个媒体特性使用,使用关键字and将多个媒体特性结合在一起
@media screen and (min-width: 480px) and (max-width:1000px) {
body {
background-color: lightgreen;
}
}