@media

  • 版本:CSS2/3

@media的具体语法

@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的取值介绍

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

@media的使用说明

指定样式表规则用于指定的媒体类型和查询条件。
  • 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.0-8.0 #1 4.0 4.0 4.0 15.0
9.0
  1. IE8及更早浏览器不支持媒体查询。

@media的完整演示案例