通过不同的媒体类型和条件定义样式表规则。媒体查询让CSS可以更精确作用于不同的媒体类型和同一媒体的不同条件。媒体查询的大部分媒体特性都接受minmax用于表达”大于或等于”和”小与或等于”。如:width会有min-widthmax-width媒体查询可以被用在CSS中的@media@import规则上,也可以被用在HTML和XML中。通过这个标签属性,我们可以很方便的在不同的设备下实现丰富的界面,特别是移动设备,将会运用更加的广泛。

media query能够获取的值有:

  • 设备的宽和高device-width,device-heigth显示屏幕/触觉设备。
  • 渲染窗口的宽和高width,heigth显示屏幕/触觉设备。
  • 设备的手持方向,横向还是竖向orientation(portrait|lanscape)和打印机等。
  • 画面比例aspect-ratio点阵打印机等。
  • 设备比例device-aspect-ratio-点阵打印机等。
  • 对象颜色或颜色列表color,color-index显示屏幕。
  • 设备的分辨率resolution。

 语法结构及用法:

  1. @media 设备名 only (选取条件) not (选取条件) and(设备选取条件),设备二{rules}
  2.  
  3. link中使用@media:
  1. <link rel="stylesheet" type="text/css" media="only screen and (max-width: 480px),only screen and (max-device-width: 480px)" href="link.css" rel="external nofollow" />
    上面使用中only可省略,限定于计算机显示器,第一个条件max-width是指渲染界面最大宽度,第二个条件max-device-width是指设备最大宽度。
  2.  
  3. 在样式表中内嵌@media:
  1. @media (min-device-width:1024px) and (max-width:989px),screen and (max-device-width:480px),(max-device-width:480px) and (orientation:landscape),(min-device-width:480px) and (max-device-width:1024px) and (orientation:portrait) {rules}
  2.  
  3. 在以上例子中,设置了电脑显示器分辨率(宽度)大于或等于1024px(并且最大可见宽度为989px);屏宽在480px及其以下手持设备;屏宽在480px以及横向(即480尺寸平行于地面)放置的手持设备;屏宽大于或等于480px小于1024px以及垂直放置设备的css样式。
  4.  
  5. 从上面的例子可以看出,字符间以空格相连,选取条件包含在小括号内,rules为兼容设置的样式表,包含在中括号里面。only(限定某种设备,可省略),and(逻辑与),not(排除某种设备)为逻辑关键字,多种设备用逗号分隔,这一点继承了css基本语法。

 可用设备名参数:

 逻辑关键字:

  

 

 可用设备名参数:

  

往往我们还有配合一些css的初始设置:

  1. /* 禁用iPhone中Safari的字号自动调整 */
  2. html {
  3. -webkit-text-size-adjust: none;
  4. }
  5. /* 设置HTML5元素为块 */
  6. article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  7. display: block;
  8. }
  9. /* 设置图片视频等自适应调整 */
  10. img {
  11. max-width: 100%;
  12. height: auto;
  13. width: auto\9; /* ie8 */
  14. }
  15. .video embed, .video object, .video iframe {
  16. width: 100%;
  17. height: auto;
  18. }
  1.   一定记得在head标签中加上<meta name="viewport" content="width=device-width; initial-scale=1.0">
      meta viewport这个属性是在移动设备上设置原始大小显示和是否缩放的声明
  2.   

参数设置∶

    • width – viewport的宽度
    • height – viewport的高度
    • initial-scale – 初始的缩放比例
    • minimum-scale – 允许用户缩放到的最小比例
    • maximum-scale – 允许用户缩放到的最大比例
    • user-scalable – 用户是否可以手动缩放
  1. 最后对于在IE浏览器中不支持media query的情况,我们可以使用Media Query JavaScript来解决,只需要在页面头部引用css3-mediaqueries.js即可。示例:
      
  1. <!--[if lt IE 9]>
  2. <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js">
  3. </script> <![endif]-->
  4.  
  5. 摘抄自觉唯网。
  1.  
  1.  

媒体查询漫谈——@media Queries的更多相关文章

  1. 移动设备上的媒体查询 CSS media queries for mobile device

    CSS的媒体查询虽然在传统的互联网页面可能发挥的余地不是很大,但是自从苹果和安卓的风靡之后,移动平台上的web开发变得越来越流行了,同时CSS的媒体查询可谓派上了大用场了. 以下为翻译内容,原文来自这 ...

  2. CSS3媒体查询(Media Queries)

    媒体类型: all 所有设备 screen 电脑显示器 handheld 便携设备 tv 电视类型设备 print 打印用纸打印预览视图 关键字 and not(排除某种设备) only(限定某种设备 ...

  3. 解决ie9以下下不支持html5和媒体查询(Media Queries)

    ie9以下不支持媒体查询和html5,可以使用补丁完美兼容 1.html5shiv ie6~8不识别html5的新元素,可以通过使用html5shiv来解决 <!--[if lt IE 9]&g ...

  4. 关于响应式、媒体查询和media的关系 、流媒体布局flex 和em rem像素的使用 我有一些废话要讲.....

    一.什么是响应式 随着移动端越来遇火 网站的布局成为一个热议的话题 有的人喜欢用手机浏览网站.有的人喜欢用paid浏览网站.有人喜欢用电脑浏览网站 那么问题来了 我们怎么样才能使用一套css样式 完成 ...

  5. media query(媒体查询)和media type(媒体类型)

    media type(媒体类型)是css 2中的一个非常有用的属性,通过media type我们可以对不同的设备指定特定的样式,从而实现更丰富的界面.media query(媒体查询)是对media ...

  6. 媒体查询(media):设置PC端网页居中显示

    @media screen and (min-width: 768px){ body{ background-color: #EAEAEA; } #fater{ width: 640px; margi ...

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

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

  8. media queries 媒体查询使用

    media queries 翻译过来就是媒体查询,media 指的媒体类型.那么有哪些类型呢,常用的有 screen(屏幕).打印(print),个人理解就是它所在的不同终端. 常用的用法:1,< ...

  9. 媒体查询Media Queries详解

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

随机推荐

  1. p3168 [CQOI2015]任务查询系统(差分+主席树)

    恕我才学浅薄,一开始想到的是树状数组+线段树,然后看了题解才第一次见到了差分这种神奇的科技 仔细想想,主席树的本质不就是前缀和嘛,加上一个差分也是可以的,没想到真是罪过罪过 对时间维护一个差分 在Si ...

  2. Linux 下终端 C 语言控制光标的技巧

    // 清除屏幕 #define CLEAR() printf("\033[2J") // 上移光标 #define MOVEUP(x) printf("\033[%dA& ...

  3. Ubuntu14.04下 安装p4c

    参考: Github p4c README Ubuntu14.04下 安装p4c 这里提供一个直接安装p4c的脚本:install_p4c.sh. 1.git clone下来p4c: $ git cl ...

  4. 2、corosync集群初步

    配置高可用集群 配置环境:两台centos7 192.168.184.141  192.168.184.142 corosync v2 + pacemaker corosync v2:vote sys ...

  5. SQLServer2008 远程过程调用失败

    今天在连接数据库的时候,发现无法获取到服务器名称,打开SQLServer Configuration Manager,发现SQLServer服务中远程过程调用失败 我装的是VS2017,在网上百度了一 ...

  6. 踩坑记录:spring boot的POST请求数据注入不了的问题

    概述: 今天在使用spring boot框架的时候,踩了一个坑,是关于control层request body依赖注入的问题的,内容如下: 进过: 由于目前公司采用的系统架构,要求把springboo ...

  7. CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

    什么是RADIUS服务: RADIUS:(Remote Authentication Dial In User Service)中文名为远程用户拨号认证服务,简称RADIUS,是目前应用最广泛的AAA ...

  8. PostgreSQL安装及使用教程一(exe安装方式)

    下载安装 百度搜索PostgreSQL,进入官网,选择相应版本的图形化安装程序(BigSQL)安装即可 连接数据库 对数据库操作有两种方式,一种是通过命令行工具psql,另一种是通过图形化界面pgAd ...

  9. python使用sessions模拟登录淘宝

    之前想爬取一些淘宝的数据,后来发现需要登录,找了很多的资料,有个使用request的sessions加上cookie来登录的,cookie的获取在登录后使用开发者工具可以找到.不过这个登录后获得的网页 ...

  10. sort-插入排序

    void sort_insertion(vector<int> &v) { for(int i=1;i<v.size();i++) { for(int j=i;j>0; ...