Media Queries直译过来就是“媒体查询”,CSS3中的Media Queries增加了更多的媒体查询,你可以添加不同的媒体类型的表达式用来检查媒体是否符合某些条件,如果媒体符合相应的条件,那么就会调用对应的 样式表。换句话说,其允许我们在不改变内容的情况下,改变页面的布局以精确适应不同的设备。这功能是非常强大的。
Media Queries有两种方式,一种是直接在link中判断设备的尺寸,然后引用不同的css文件:
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"styleA.css"
media
=
"screen and (min-width: 400px)"
>
意思是当屏幕的宽度大于等于400px的时候,应用styleA.css
在media属性里:
- screen 是媒体类型里的一种,CSS2.1定义了10种媒体类型
- and 被称为关键字,其他关键字还包括 not(排除某种设备),only(限定某种设备)
- (min-width: 400px) 就是媒体特性,通俗一点就是媒体条件,其被放置在一对圆括号中。
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"styleB.css"
media
=
"screen and (min-width: 600px) and (max-width: 800px)"
>
意思是当屏幕的宽度大于600小于800时,应用styleB.css
另一种方式,即是直接写在<style>标签里:
1
2
3
4
5
|
@media screen and (max-width: 600px) { /*当屏幕尺寸小于600px时,应用下面的CSS样式*/ .class { background: #ccc; } } |
写法是前面加@media ,其它跟link里的media属性相同。
Max Width
下面的样式会在可视区域的宽度小于 600px 的时候被应用。
1
2
3
4
5
6
|
@media screen and (max-width: 600px) { .class { background: #fff; 你的样式 } } |
Min Width
下面的样式会在可视区域的宽度大于 900px 的时候被应用。
1
2
3
4
5
|
@media screen and (min-width: 900px) { .class { background: #fff; } } |
Multiple Media Queries
你还可以使用过个匹配条件,下面的样式会在可视区域的宽度在 600px 和 900px 之间的时候被应用。
1
2
3
4
5
|
@media screen and (min-width: 600px) and (max-width: 900px) { .class { background: #fff; } } |
总结:响应式主要就是通过@media screen针对各种分辨率来调整css。在不同的条件下使用不同的样式,使用页面达到不同的渲染效果。