Media query 是CSS3中的新特性,通过@media规则,它允许一段CSS代码在特定条件下才生效。

什么意思?

看下面代码

@media(max-width:320px){#footer{font-size:13px;}}

只有当浏览器宽度小于320px时,#footer的字体大小才会设置为13px

--------------------------

以前我们可能要为不同的设备比如desktop/mobile分别设置css文件。

那么现在看看利用@media可以这么做

/*Fordesktop:*/.col-1{width:30%;}.col-2{width:10%;}.col-3{width:20%;}.col-4{width:40%;}@media(max-width:768px){/*Formobilephones:*/[class*="col-"]{width:100%;}}

是不是方便了很多,这样就可以把所有样式放到一个文档里了。

---------------------

很简单是不是,还有几个注意事项要提醒大家


手机样式优先

意味着手机样式写在桌面或其他设备样式的前面,这样能提高小型设备上的渲染速度

上面的例子就应该这样写

/*Formobilephones:*/[class*="col-"]{width:100%;}@media(min-width:768px){/*Fordesktop:*/.col-1{width:30%;}.col-2{width:10%;}.col-3{width:20%;}.col-4{width:40%;}}

首先加载手机样式,当屏幕宽度大于768时加载桌面样式

你可能还要为多种设备添加样式,看下面这个例子

/*Formobilephones:*/[class*="col-"]{width:100%;}@media(min-width:768px)and(max-width:998px){/*Fortablets:*/.col-1{width:25%;}.col-2{width:10%;}.col-3{width:15%;}.col-4{width:30%;}}@media(min-width:999px){/*Fordesktop:*/.col-1{width:30%;}.col-2{width:10%;}.col-3{width:20%;}.col-4{width:40%;}}

2.你还可以为手持设备的横屏/竖屏做设置

比如为手机设置横屏样式

@mediascreenand(orientation:landscape)and(max-width:767px)

设置竖屏样式

@mediascreenand(orientation:protrait)and(max-width:767px)

3.分辨率划分的一点建议

手机等小型设备: 320px ~ 479px

大屏手机: 480px ~ 767px

平板设备:768px ~ 1024px

大型平板及PC设备:大于1025px