CSS3的媒体查询是对CSS2媒体类型的扩展,完善;

CSS2的媒体类型仅仅定义了一些设备的关键字,CSS3的媒体查询进一步扩展了如width,height,color等具有取值范围的属性;

media query 与 media type 的区别在于: media query是一个值或一个范围的值,而media type仅仅是设备的匹配(所以media type 是一个单词,而media query 后边需要跟着一个数值,两者可以混合使用);

media可用于link标签属性 [media]

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

以及css文件内,下边代码均是使用css内media;

介绍一下可用的运算符&常用的media type以及media query:

运算符:

and:

and运算符用于符号两边规则均满足条件则匹配

@media screen and (max-width : 600px) {
/*匹配宽度小于600px的电脑屏幕*/
}

not:

not运算符用于取非,所有不满足该规则的均匹配

@media not print {
/*匹配除了打印机以外的所有设备*/
}

使用not时请注意,如果不加括号,也许会产生一些奇怪的现象,例:

@media not all and (max-width : 500px) {}
/*等价于*/
@media not (all and (max-width : 500px)) {}
/*而不是*/
@media (not all) and (max-width : 500px) {}

所以,如果要使用not,还是显式的添加括号比较明确点

,(逗号):

相当于 or 用于两边有一条满足则匹配

@media screen , (min-width : 800px) {
/*匹配电脑屏幕或者宽度大于800px的设备*/
}

Media Type(只说几个常用的,其余会给出链接):

All:

all是默认值,匹配所有设备;

@media all {
/*可以过滤不支持media的浏览器*/
}

Screen:

匹配电脑屏幕;

Print:

匹配打印机(打印预览时也会匹配)[本人简历专门为print做了一套样式~]

常用的一般就这三个type,其余Media Type 有兴趣的可以看下 W3School的说明W3的文档

Media Query(也是说一些常用的): //需要注意的是,Media Query必须要加括号,一个括号是一个query

max-width(max-height):

@media (max-width : 600px) {
/*匹配界面宽度小于600px的设备*/
}

min-width(min-height):

@media (min-width : 400px) {
/*匹配界面宽度大于400px的设备*/
}

max-device-width(max-device-height):

@media (max-device-width : 800px) {
/*匹配设备(不是界面)宽度小于800px的设备*/
}

min-device-width(min-device-height):

@media (min-device-width : 600px) {
/*匹配设备(不是界面)宽度大于600px的设备*/
}

做移动开发时用device-width/device-height,比较好一点吧,因为有些手机浏览器默认会对页面进行一些缩放,所以按照设备宽高来进行匹配会更接近开发时所期望的效果;

给出全部的Media Query属性值的链接 W3的文档 也可以看看MDN的,有志愿者汉化了 MDN Media Query 文档

media是可以嵌套的:

@media not print {
/*通用样式*/
@media (max-width:600px) {
/*此条匹配宽度小于600px的非打印机设备*/
}
@media (min-width:600px) {
/*此条匹配宽度大于600px的非打印机设备*/
}
}

这样省去了将 not print 写两遍的冗余.这样写也是有一定好处的,因为有些浏览器也许只支持Media Type 而不支持 Media Query- -(不要问我为什么知道,栽过坑)

Media Query(仅指上边那几个)的值的单位可以是 px em rem (%/vh/vw/vmin/vmax什么的没有试...感觉应该没什么用吧...);

Media Query是响应式页面的核心,其实说响应式页面就是在不同分辨率下显示不同的效果;

编写响应式页面CSS时分为从小到大和从大到小(尺寸);

本人弱弱的推荐从小尺寸开始写的 Media Query 使用 max-系列,大尺寸的反之;

本文哪里有错误及不足还请大家指出;

总结CSS3新特性(媒体查询篇)的更多相关文章

  1. 01-移动端开发教程-CSS3新特性

    1. 移动端开发课程概述 移动互联网的兴起,让移动端的开发迅速蹿红.对于前端开发者来说,移动端的开发已经占据了他们大部分工作时间.接下来老马带大家一起学习移动端开发的相关前端开发技术. 这边课程内容包 ...

  2. HTML5和CSS3新特性

    1.HTML5新标签和属性 1.1 兼容性前缀与语义化 兼容低版本的写法.比较新的浏览器,可以直接写.兼容性前缀,是每个浏览器私有的. 内核 兼容性前缀 浏览器 Gecko -moz- Firefox ...

  3. CSS3新特性(阴影、动画、渐变、变形、伪元素等)

    CSS3与页面布局学习总结(六)--CSS3新特性(阴影.动画.渐变.变形.伪元素等)   目录 一.阴影 1.1.文字阴影 1.2.盒子阴影 二.背景 2.1.背景图像尺寸 2.2.背景图像显示的原 ...

  4. 新特性AAtitti css3 新特性attilax总结titti css

    Atitti css3 新特性attilax总结 图片发光效果2 透明渐变效果2 文字描边2 背景拉伸2 CSS3 选择器(Selector)4 @Font-face 特性7 Word-wrap &a ...

  5. Atitti css3 新特性attilax总结

    Atitti css3 新特性attilax总结 图片发光效果2 透明渐变效果2 文字描边2 背景拉伸2 CSS3 选择器(Selector)4 @Font-face 特性7 Word-wrap &a ...

  6. 深入了解css3新特性

    深入了解css3新特性:http://www.ibm.com/developerworks/cn/web/1202_zhouxiang_css3/

  7. H5 和 CSS3 新特性

    博客地址:https://ainyi.com/52 H5 新特性 语义化标签:header.footer.section.nav.aside.article 增强型表单:input 的多个 type ...

  8. 控制页面打印的2种方法(css3的media媒体查询和window.print())

    在实际开发中,有时可能会有打印的需求.下面我总结了2种打印的方法,希望对各位小伙伴有所帮助. ①:直接用window.print()方法就可以打印整个页面,下面是一个小demo <!DOCTYP ...

  9. css3新特性总结

    一.什么是css3 css用于控制网页的样式和布局,css3是css的升级版本,受浏览器限制,跨浏览器开发有点复杂.css3完全向后兼容 二.css3新特性 1.边框 css3的边框有如下属性: (1 ...

随机推荐

  1. 一步一步学Python(1) 基本逻辑控制举例和编码风格规范

    (1) 基本逻辑控制举例和编码风格规范 1.while死循环 2.for循环 3.if,elif,else分支判断 4.编码风格(官方建议) 版本:Python3.4 1.while死循环 #func ...

  2. Web 前端开发精华文章推荐(HTML5、CSS3、jQuery)【系列二十三】

    <Web 前端开发精华文章推荐>2014年第2期(总第23期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  3. [SDK2.2]Windows Azure Virtual Network (1) 概念

    <Windows Azure Platform 系列文章目录> Windows Azure Virtual Network是非常重要的概念,其主要作用有以下两点: 1.将多台Azure V ...

  4. js基础-表单验证和提交

    基础知识: 原始提交如下: <form action="/login" method="post" id="form1"> &l ...

  5. SQL Server 2014如何提升非在线的在线操作

    在今天的文章里,我想谈下在线索引重建操作( Online Index Rebuild operations),它们在SQL Server 2014里有怎样的提升.我们都知道,自SQL Server 2 ...

  6. 如何做好一个ORM框架

    很多人都不太认可以第三方ORM,因为考虑的点不够全面,没有用户群体大的ORM有保证,这点是不可否认确是事实. 但是往往用户群体大的ORM又有不足之处,就拿用户群体最多的两个ORM来说一下吧 1.EF ...

  7. 基于HTML5技术的电力3D监控应用(二)

    上篇介绍了我们电力项目的基本情况,我们选用HTML5技术还是顶着很大压力,毕竟HTML5技术性能行不行,浏览器兼容性会不会有问题,这些在项目选型阶段还是充满疑惑,项目做到现在终于快收尾了我们才敢松口气 ...

  8. 前端模块化开发之seaJs

    了解后端语言的童鞋一定听过模块化开发的概念,比如java.python等后端语言都有自己的模块化特性,然而和后端语言相比,javascript还尚未实现模块化的功能,虽然之后的更高版本可能引入模块化开 ...

  9. Excel文件相关:XLS格式文件基本操作

    序 1.添加引用 添加引用->Com->Microsoft Excel 9.0 Object Library(对应Excel2000) *Microsoft Excel 11.0 Obje ...

  10. .Net语言 APP开发平台——Smobiler学习日志:仿12306的APP登陆界面

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobil ...