dazhifu 2016-09-29
本文为H5EDU机构官方HTML5培训教程,主要介绍:CSS基础教程——多媒体查询
CSS3多媒体查询
CSS2多媒体类型
@media规则在CSS2中有介绍,针对不同媒体类型可以定制不同的样式规则。
例如:你可以针对不同的媒体类型(包括显示器、便携设备、电视机,等等)设置不同的样式规则。
但是这些多媒体类型在很多设备上支持还不够友好。
CSS3多媒体查询
CSS3的多媒体查询继承了CSS2多媒体类型的所有思想:取代了查找设备的类型,CSS3根据设置自适应显示。
媒体查询可用于检测很多事情,例如:
viewport(视窗)的宽度与高度
设备的宽度与高度
朝向(智能手机横屏,竖屏)。
分辨率
目前很多针对苹果手机,Android手机,平板等设备都会使用到多媒体查询。
浏览器支持
表格中的数字表示支持该属性的第一个浏览器的版本号。
属性
@media21.09.03.54.09.0
多媒体查询语法
多媒体查询由多种媒体组成,可以包含一个或多个表达式,表达式根据条件是否成立返回true或false。
@medianot|onlymediatypeand(expressions){
CSS-Code;
}
如果指定的多媒体类型匹配设备类型则查询结果返回true,文档会在匹配的设备上显示指定样式效果。
除非你使用了not或only操作符,否则所有的样式会适应在所有设备上显示效果。
not:not是用来排除掉某些特定的设备的,比如@medianotprint(非打印设备)。
only:用来定某种特别的媒体类型。对于支持MediaQueries的移动设备来说,如果存在only关键字,移动设备的Web浏览器会忽略only关键字并直接根据后面的表达式应用样式文件。对于不支持MediaQueries的设备但能够读取MediaType类型的Web浏览器,遇到only关键字时会忽略这个样式文件。
all:所有设备,这个应该经常看到。
你也可以在不同的媒体上使用不同的样式文件:
CSS3多媒体类型
值描述
all用于所有多媒体类型设备
print用于打印机
screen用于电脑屏幕,平板,智能手机等。
speech用于屏幕阅读器
多媒体查询简单实例
使用多媒体查询可以在指定的设备上使用对应的样式替代原有的样式。
以下实例中在屏幕可视窗口尺寸大于480像素的设备上修改背景颜色:
实例
@mediascreenand(min-width:480px){
body{
background-color:lightgreen;
}
}
以下实例在屏幕可视窗口尺寸大于480像素时将菜单浮动到页面左侧:
实例
@mediascreenand(min-width:480px){
#leftsidebar{width:200px;float:left;}
#main{margin-left:216px;}
}