03-语法
2.2 语法
媒体查询设置了一个参数(或者一系列的参数),如果设备在查看页面的时候具有与该参数匹配的属性,就会显示与之关联的样式规则。我们可以通过三种方式去使用媒体查询,它们是和我们把CSS应用到文档的不同方式相匹配的。第一种是使用link元素去调用一个外部样式表:
第二种是使用@import指令调用外部的样式表:
第三种是在一个嵌入的style元素中或在样式表本身利用扩展的@media规则使用媒体查询:
这种方法就是我在本章接下来要使用的,因为使用这种方法可以更加清晰地进行演示。至于实际要使用哪一种方法,很大程度上取决于自己的喜好和现有样式表的结构。
现在我已经介绍了媒体查询的声明方式,我们再来探索一下它的语法。你对media属性应该已经比较熟悉了——它声明了样式要应用的媒体类型,就像HTML的link标签一样:
和当前的语法一样,我们可以使用逗号隔开的列表去选择多种媒体类型。
@media规则的第一个新属性是logic。可选的关键字可以是值only或not:
如果要对不支持该语法的浏览器隐藏规则,可以使用only值;对支持该语法的浏览器而言,only可以被有效地忽略。not值用于否定媒体查询,如果浏览器不满足设置的参数,就可以使用not来应用这些样式。
接下来的属性是expression,它是主要选择所发生的地方。可以使用and操作符去声明expression,并用它去设置媒体类型以外的参数。这些参数被称为媒体特征(Media Features),它们对媒体查询的作用是非常关键的。既然这样,我们还是详细地探讨一下。