Media Queries的语法如下所示:

@media [media_query] media_type and media_feature 

使用Media Queries样式模块时都必须以"@media"方式开头。

media_query表示查询关键字,在这里可以使用not关键字和only关键字。not关键字表示对后面的样式表达式执行取反操作。例如如下代码:

@media not screen and (max-device-width:480px) 

only关键字的作用是,让不支持Media Queries的设备但能读取Media Type类型的浏览器忽略这个样式。例如如下代码:

@media only screen and (max-device-width:480px) 

对于支持Media Queries的移动设备来说,如果存在only关键字,移动设备的Web浏览器会忽略only关键字并直接根据后面的表达式应用样式文件。对于不支持Media Queries的设备但能够读取Media Type类型的Web浏览器,遇到only关键字时会忽略这个样式文件。

虽然media_query这个类型在整个Media Queries语法中并不是必需的类型,但是有时候在实际开发过程中却是非常重要的查询参数类型。

media_type参数的作用是指定设备类型,通常称为媒体类型。实际上在CSS2.1版本时已经定义了该媒体类型。表6-1列出了media_type允许定义的10种设备类型。

表6 1  media_type设备可用类型一览表

media_type

设备类型说明

all

所有设备

aural

听觉设备

braille

点字触觉设备

handled

便携设备,如手机、平板电脑

print

打印预览图等

projection

投影设备

screen

显示器、笔记本、移动端等设备

tty

如打字机或终端等设备

tv

电视机等设备类型

embossed

盲文打印机

media_feature的主要作用是定义CSS中的设备特性,大部分移动设备特性都允许接受min/ max的前缀。例如,min-width表示指定大于等于该值;max-width表示指定小于等于该值。

表6-2显示media_feature设备特性的种类一览表。

表6 2  media_feature设备特性一览表

设 备 特 性

是否允许

min/max

前缀

特 性 的 值

说    明

width

允许

含单位的数值

指定浏览器窗口的宽度大小,

如480像素

height

允许

含单位的数值

指定浏览器窗口的高度大小,

如320像素

device-width

允许

含单位的数值

指定移动设备的屏幕分

辨率宽度大小,如480像素

device-height

允许

含单位的数值

指定移动设备的屏幕分

辨率高度大小,如320像素

orientation

不允许

字符串值

指定移动设备浏览器的窗口方向。

只能指定portrait(纵向)和landscape

(横向)两个值

aspect-radio

允许

比例值

指定移动设备浏览器窗口的

纵横比例,如16:9

device-aspect-radio

允许

比例值

指定移动设备屏幕分辨率的

纵横比例,如16:9

color

允许

整数值

指定移动设备使用多少位的颜色值

color-index

允许

整数值

指定色彩表的色彩数

monochrome

允许

整数值

指定单色帧缓冲器中每像素的字节数

resolution

允许

分辨率值

指定移动设备屏幕的分辨率

scan

不允许

字符串值

指定电视机类型设备的扫描方式。

只能指定两种值:progressive表

示逐行扫描和interlace表示隔行扫描

grid

不允许

整数值

指定设备是基于栅格还是基于位图。

基于栅格时该值为1,否则为0

到目前为止,Media Queries样式模块在桌面端都得到了大部分现代浏览器的支持。例如IE 9浏览器、Firefox浏览器、Safari浏览器、Chrome浏览器、Opera浏览器。但是IE系列的浏览器中只有最新版本才支持该特性,IE8以下的版本不支持Media Queries。

从移动平台来说,基于两大平台Android和iOS的Web浏览器也都得到了良好的支持。同时,黑莓系列手机也支持Media Queries特性。

来自http://book.51cto.com/art/201204/328362.htm

Media Queries语法总结的更多相关文章

  1. CSS3系列四(Media Queries移动设备样式)

    viewport设置适应移动设备屏幕大小 viewport:允许开发者创建一个虚拟窗口并自定义其窗口的大小或缩放功能 <meta name="viewport" conten ...

  2. css3的媒体查询(Media Queries)

    我今天就总结一下响应式设计的核心CSS技术Media(媒体查询器)的用法. 先看一个简单的例子: <link rel="stylesheet" media="scr ...

  3. CSS3 Media Queries 详细介绍与使用方法

    Media Queries 就是要在支援CSS3 的浏览器中才能正常工作,IE8 以下不支持. 而Media Queries 的套用方法千变万化,要套用在什么样的装置中,都可以自己来定义. 到底什么是 ...

  4. CSS学习笔记:Media Queries

    CSS3提供了Media Queries(媒体查询)的概念,可以利用它查询以下数据: 1.浏览器窗口的宽和高: 2.设备的宽和高: 3.设备的手持方向,横向/竖向: 4.分辨率. @media规则的语 ...

  5. 媒体查询Media Queries详解

    @media 标签可以说是响应式网页的开发基础.其主要由媒体类型(Media Type)和 媒体特性(Media Query)两部分组成. Media Type 设定后面规则生效的展示类型,包括all ...

  6. CSS3的媒体查询(Media Queries)与移动设备显示尺寸大全

    媒体查询介绍 我今天就总结一下响应式设计的核心CSS技术Media(媒体查询器)的用法. 先看一个简单的例子: <link rel="stylesheet" media=&q ...

  7. [翻译]CSS3 Media Queries

    Media Queries Official Manual:http://www.w3.org/TR/css3-mediaqueries/ 原文链接:http://www.smashingmagazi ...

  8. CSS3 响应式web设计,CSS3 Media Queries

    两种方式,一种是直接在link中判断设备的尺寸,然后引用不同的css文件: <link rel="stylesheet" type="text/css" ...

  9. CSS3 Media Queries 详细介绍与使用方法[转]

    Media Queries 就是要在支援CSS3 的浏览器中才能正常工作,IE8 以下不支援. 而Media Queries 的套用方法千变万化,要套用在什么样的装置中,都可以自己来定义. 关于Med ...

随机推荐

  1. 事件循环Event loop到底是什么

    摘要:本文通过结合官方文档MDN和其他博客深入解析浏览器的事件循环机制,而NodeJS有另一套事件循环机制,不在本文讨论范围中.process.nextTick和setImmediate是NodeJS ...

  2. C++ 无法打开 源 文件 "ntddk.h"

    原因是SDK版本太高了,或者版本不对应WDK,换一个SDK版本就好了.

  3. proxy_http_version 1.0 | 1.1

    Module ngx_http_proxy_module http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_ver ...

  4. list里放map list 放list

    Map<String,Integer> hashMap = new HashMap<String, Integer>(); Map<String,Integer> ...

  5. java native:Java本地方法调用(jni方式)

    https://www.cnblogs.com/zh1164/p/6283831.html

  6. CAP理论解读

    经历过技术面试的小伙伴想必对这个两个概念已经再熟悉不过了! 我当年参加面试的时候,不夸张地说,只要问到分布式相关的内容,面试官几乎是必定会问这两个分布式相关的理论. 并且,这两个理论也可以说是小伙伴们 ...

  7. 洛谷 P3704 SDOI2017 数字表格

    题意: 给定两个整数 \(n, m\),求: \[\prod_{i = 1} ^ n \prod_{j = 1} ^ m \operatorname{Fib}_{\gcd\left(n, m\righ ...

  8. Python3 如何查看内置函数都有哪些?

    数据科学交流群,群号:189158789,欢迎各位对数据科学感兴趣的小伙伴的加入! 上代码: 1 import builtins 2 num = len(dir(builtins)) 3 print( ...

  9. Tomcat Servlet工作原理

    前言 Tomcat的启动过程 Web应用初始化 创建Servlet实例 初始化Servlet 执行service方法 前言 Servlet实际上就是一个java类,只不过可以和浏览器进行一些数据的交换 ...

  10. ceph --- (简单操作及openstack交接)

    部署ceph :https://www.cnblogs.com/cloudhere/p/10519647.html Centos7部署ceph:https://www.cnblogs.com/kevi ...