CSS3/CSS2 @media 语法

说明:本文档兼容性测试基础环境为:windows系统;IE6-IE10, Firefox6.0, Chrome13.0, Safari5.1, Opera11.51

语法:

@media<media_query_list>

<media_query_list>:[<media_query>[',' <media_query>]*]?

<media_query>:[only | not]? <media_type> [and <expression>]* | <expression> [and <expression>]*

<expression>:'('<media_feature>[:<value>]?')'

取值:

<media_type>
指定设备类型。媒体类型包括:参阅媒体类型。(CSS2)
<expression>:
指定媒体查询使用的媒体特性。这类似于CSS属性,如:max-width:960px。(CSS3)

说明:

指定样式表规则用于指定的媒体类型和查询条件。
  • IE8及以下只能实现CSS2中的部分,即只可以设置媒体类型。
  • 媒体查询可以被用在CSS中的@media和@import规则上,也可以被用在HTML和XML中。

    示例代码:

    @media screen and (width:800px){ … }
    @import url(example.css) screen and (width:800px);
    <link media="screen and (width:800px)" rel="stylesheet" href="example.css" />
    <?xml-stylesheet media="screen and (width:800px)" rel="stylesheet" href="example.css" ?>
  • 列举几种使用方式:

    @media all and (width:1024px){
    	body{color:#f00;}
    }
    @media all and (device-height:800px){ … }
    @media all and (orientation:landscape){ … }
    @media all and (device-aspect-ratio:16/10){ … }
    @media all and (min-color:1){ … }
    @media all and (monochrome:0){ … }
    @media all and (grid:0){ … }

兼容性(指定媒体类型):

  • 浅绿 = 支持
  • 红色 = 不支持
  • 墨绿 = 部分支持
  • 橙色 = 实验性质
支持版本\类型 IE Firefox Safari Chrome Opera
版本 6-8 #1 4 5.1.7 13 11.5
版本 9
  1. IE8及更早浏览器不支持媒体查询。

示例: