媒体查询的核心思路,就是根据不同的设备宽度设置断点,然后书写css样式覆盖之前的样式。

1、媒体类型

media属性用于为不同的媒介类型规定不同的样式:

  • screen 计算机屏幕(默认值)
  • tty 电传打字机以及使用等宽字符网格的类似媒介
  • tv 电视类型设备(低分辨率、有限的屏幕翻滚能力)
  • projection 放映机
  • handheld 手持设备(小屏幕、有限的带宽)
  • print 打印预览模式 / 打印页
  • braille 盲人用点字法反馈设备
  • aural 语音合成器
  • all 适合所有设备

真正广泛使用且所有浏览器都兼容的媒介类型是’screen’和’all’

2、媒体属性

媒体属性是CSS3新增的内容,多数媒体属性带有“min-”和“max-”前缀,用于表达“小于等于”和“大于等于”。这避免了使用与HTML和XML冲突的“<”和“>”字符
  注意:媒体属性必须用括号()包起来,否则无效!!
下表中列出了所有的媒体属性:
width | min-width | max-width
height | min-height | max-height
device-width | min-device-width | max-device-width
device-height | min-device-height | max-device-height
aspect-ratio | min-aspect-ratio | max-aspect-ratio
-webkit-device-pixel-ratio | -webkit-min- device-pixel-ratio | -webkit-max- device-pixel-ratio
device-aspect-ratio | min-device-aspect-ratio | max-device-aspect-ratio
color | min-color | max-color
color-index | min-color-index | max-color-index
monochrome | min-monochrome | max-monochrome
resolution | min-resolution | max-resolution
scan | grid

3、逻辑操作符

操作符not、and、only和逗号(,)可以用来构建复杂的媒体查询。
and
  用来把多个媒体属性组合起来,合并到同一条媒体查询中。只有当每个属性都为真时,这条查询的结果才为真。
  注意:在不使用not或only操作符的情况下,媒体类型是可选的,默认为all。
or
  将多个媒体查询以逗号分隔放在一起;只要其中任何一个为真,整个媒体语句就返回真,相当于or操作符。
not
  not操作符用来对一条媒体查询的结果进行取反
  注意:not关键字仅能应用于整个查询,而不能单独应用于一个独立的查询。
only
  only操作符表示仅在媒体查询匹配成功时应用指定样式。可以通过它让选中的样式在老式浏览器中不被应用。

@media only screen and (max-width:1000px){/* 在老式浏览器中被解析为media = "only",因为没有一个叫做only的设备,所以实际上老式浏览器不会应用里面的样式 */
}@media screen and (max-width:1000px){/* 在老式浏览器中被解析为media = "screen",它把后面的逻辑表达式忽略了,所以老式浏览器会在所有的宽度下都应用里面的样式 */
}

所以,在使用媒体查询时,only最好不要忽略

4、常见的设备类型和宽度

这里说的宽度是用来编码的布局宽度。

超小屏幕(手机) 768px以下
小屏设备(平板) 768px-992px
中等屏幕(旧式电脑) 992px-1200px
大屏设备(现代电脑) 1200px以上

5、css2中的媒体查询

CSS2中media: 通过标签的media属性为样式表指定设备类型。

CSS2来实现,让它一样可以让页面宽度小于960的执行指定的样式文件:

<link rel="stylesheet" type="text/css" media="screen and (max-width:960px)"  href="style.css">

既然CSS2可以实现CSS的这个效果为什么不用这个方法呢,很多人应该会问,但是上面这个方法,最大的弊端是他会增加页面http的请求次数,增加了页面负担,我们用CSS3把样式都写在一个文件里面才是最佳的方法。

6、css3中媒体查询的常规写法

如果媒体查询@media使用的是相对单位,如rem,这里有一个坑需要着重强调一下:
  一般而言,rem是相对于html的字体大小的。但是,由于媒体查询的级别非常高,它并不是html的子元素,不是相对于html,而是相对于浏览器的,而浏览器的默认字体大小是16px。

@media all and (min-width:800px) and (orientation:landscape){/* 满足横屏以及最小宽度为800px的条件应用里面的样式 */body{background:red;}
}
@media only screen and (min-width: 960px) and (max-width:1200px){/* 在计算机屏幕中宽度在[960px,1200px]区间会应用里面的样式 */body{background:#000;}
}@media only screen and (max-width: 960px){/* 在计算机屏幕中宽度小于等于960px会应用里面的样式 */body{background:#000;}
}

@media媒体查询——详解相关推荐

  1. CSS3 @media媒体查询 适配不同尺寸设备的响应式布局(清晰详解)

    随着宽屏的不断普及,CSS3出现了@media媒体查询技术 一.了解@Media 相关知识 1.了解Media Queries Media Queries能在不同的条件下使用不同的样式,使页面在不同在 ...

  2. 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解

    主键: 关键字:primary key 特点:不能为null,并且唯一. 主键分类: 逻辑主键:例如ID,不代表实际的业务意义,只是用来唯一标识一条记录(推荐) 业务主键:例如username,参与实 ...

  3. mysql多表查询详解_MySQL多表查询详解上

    时光在不经意间,总是过得出奇的快.小暑已过,进入中暑,太阳更加热烈的绽放着ta的光芒,...在外面被太阳照顾的人们啊,你们都是勤劳与可爱的人啊.在房子里已各种姿势看我这篇这章的你,既然点了进来,那就由 ...

  4. php视图查询的优势,ThinkPHP视图查询详解

    搜索热词 ThinkPHP提供的视图查询应用功能十分强大,用户利用视图查询功能可以将多个数据表的字段内容按需要进行指定和筛选,组织成一个基于这些数据表的视图模型,然后就可以通过该模型直接进行多表联合查 ...

  5. css3 media媒体查询器用法总结

    原文地址:http://www.cnblogs.com/zhaodifont/p/3858657.html 随着响应式设计模型的诞生,Web网站又要发生翻天腹地的改革浪潮,可能有些人会觉得在国内IE6 ...

  6. oracle做子查询注意事项,Oracle子查询详解

    Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...

  7. node mysql 查询_Node.js使用mysql进行查询详解

    本篇教程介绍了Node.js使用mysql进行查询详解,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入. < 因为返回的是个对象 var selectSql1=&quo ...

  8. Mysql 多表查询详解

    Mysql 多表查询详解 一.前言  二.示例 三.注意事项 一.前言  上篇讲到Mysql中关键字执行的顺序,只涉及了一张表:实际应用大部分情况下,查询语句都会涉及到多张表格 : 1.1 多表连接有 ...

  9. mysql单表查询实例_MySQL简单查询详解-单表查询

    MySQL简单查询详解-单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询的执行路径 一条SQL查询语句的执行过程大致如下图所示: 1>.客户端和服务端通过my ...

最新文章

  1. APUE学习笔记——第十章信号中10.15节例程的运行结果与书本里的不一样
  2. windows popen 获取不到输出_彻底明白os.system、os.popen、subprocess.popen的用法和区别...
  3. Vue封装一个简单轻量的上传文件组件
  4. 重构alert,confirm
  5. boost::spirit模块实现一个复数微生成器的测试程序
  6. OpenGL 着色器的N体仿真
  7. php+摩尔斯电码,PHP摩尔斯电码转换器
  8. Kubernetes架构为什么是这样的?
  9. 程序员都用什么来记录知识_1年前的小五都用 Python 来做什么?
  10. [Leetcode][第461题][JAVA][汉明距离][位运算][Brian Kernighan]
  11. dbms系统 rdbms_DBMS与传统文件系统之间的区别
  12. 模拟攻击者利用“域前置”(Domain Fronting)技术逃避审查(重定向、CDN)
  13. python3.7.3安装教程和配置idle_python 3.7.0 安装配置方法图文教程
  14. 性价比不高却出到8?华为存在感最低的一个系列再发新机
  15. 方法对头,报表模板维护其实很简单
  16. DeeCamp,(可能是)全球最好的 AI 夏令营
  17. 【SpringBoot_ANNOTATIONS】组件注册 05 @Lazy 懒加载
  18. 强化学习: Q-learning实例python实现
  19. rpm的安装与卸载,常用命令记载
  20. 前端可视化大屏适配方案

热门文章

  1. 快速找到好书・好博客・好论坛
  2. 前端资料整理--持续更新中
  3. [WPF实践之路] 目录导航
  4. 【数学建模lingo学习】lingo解决整数规划问题4:钢管切割问题
  5. 数字地球与计算机技术联系,关于数字地球应用前景的正确说法是
  6. 企业的黑海、红海和蓝海 - 创业与投资系列文章
  7. React Native专题
  8. 人工智能新动态:“上海马桥人工智能创新试验区”方案亮相
  9. GTX TITANX 显卡下显卡驱动和cuda的安装血泪史
  10. buuoj Pwn writeup 166-170