响应式web设计之CSS3 Media Queries
开始研究响应式web设计,CSS3 Media Queries是入门。
Media Queries,其作用就是允许添加表达式用以确定媒体的环境情况,以此来应用不同的样式表。换句话说,其允许我们在不改变内容的情况下,改变页面的布局以精确适应不同的设备。
那么,Media Queries是如何工作的?
两种方式,一种是直接在link中判断设备的尺寸,然后引用不同的css文件:
<link rel="stylesheet" type="text/css" href="styleA.css" media="screen and (min-width: 400px)">
意思是当屏幕的宽度大于等于400px的时候,应用styleA.css
在media属性里:
- screen 是媒体类型里的一种,CSS2.1定义了10种媒体类型
- and 被称为关键字,其他关键字还包括 not(排除某种设备),only(限定某种设备)
- (min-width: 400px) 就是媒体特性,其被放置在一对圆括号中。完整的特性参看 相关的Media features部分
<link rel="stylesheet" type="text/css" href="styleB.css" media="screen and (min-width: 600px) and (max-width: 800px)">
意思是当屏幕的宽度大于600小于800时,应用styleB.css
其它属性可看这里:http://www.swordair.com/blog/2010/08/431/
另一种方式,即是直接写在<style>标签里:(当屏幕尺寸小于600px时,应用下面的CSS样式)
@media screen and (max-width: 600px) { /*当屏幕尺寸小于600px时,应用下面的CSS样式*/.class {background: #ccc;} }
写法是前面加@media,其它跟link里的media属性相同
其实基本上就是样式覆盖~,判断设备,然后引用不同的样式文件覆盖。
要注意的是由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要,否则会出现横向滚动条。
补充:media query中的not only all等关键字
今天在群里一群友问起 @media only screen and (min-width: 320px) 中only是什么意思,查了些资料。
not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)、
only: 用来定某种特别的媒体类型。对于支持Media Queries的移动设备来说,如果存在only关键字,移动设备的Web浏览器会忽略only关键字并直接根据后面的表达式应用样式文件。对于不支持Media Queries的设备但能够读取Media Type类型的Web浏览器,遇到only关键字时会忽略这个样式文件。
all: 所有设备,这个应该经常看到
还有其它一些:
media_type |
设备类型说明 |
all |
所有设备 |
aural |
听觉设备 |
braille |
点字触觉设备 |
handled |
便携设备,如手机、平板电脑 |
|
打印预览图等 |
projection |
投影设备 |
screen |
显示器、笔记本、移动端等设备 |
tty |
如打字机或终端等设备 |
tv |
电视机等设备类型 |
embossed |
盲文打印机 |
相关资料扩展:http://book.51cto.com/art/201204/328362.htm
http://www.w3cplus.com/content/css3-media-queries
http://www.w3.org/TR/CSS2/media.html#media-types
----------------------------------华丽的分割线-----------------------------------------------------------
以下是demo
一个三栏布局的,在不同的尺寸下,变为两栏,再变为一栏~
代码:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>css3-media-queries-demo</title> <style> body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {padding: 0;margin: 0; } .content{zoom:1; } .content:after{content: ".";display: block;height: 0;clear: both;visibility: hidden; } .leftBox, .rightBox{float: left;width: 20%;height: 500px;margin: 5px;background: #ffccf7;display: inline;-webkit-transition: width 1s ease;-moz-transition: width 1s ease;-o-transition: width 1s ease;-ms-transition: width 2s ease;transition: width 1s ease; } .middleBox{float: left;width: 50%;height: 800px;margin: 5px;background: #b1fffc;display: inline;-webkit-transition: width 1s ease;-moz-transition: width 1s ease;-o-transition: width 1s ease;-ms-transition: width 1s ease;transition: width 1s ease; } .rightBox{background: #fffab1; } @media only screen and (min-width: 1024px){.content{width: 1000px;margin: auto} } @media only screen and (min-width: 400px) and (max-width: 1024px){.rightBox{width: 0;}.leftBox{ width: 30%}.middleBox{ width: 65%} } @media only screen and (max-width: 400px){.leftBox, .rightBox, .middleBox{ width: 98%;height: 200px;} } </style> </head><body> <div class="content"><div class="leftBox"></div><div class="middleBox"></div><div class="rightBox"></div> </div> </body> </html>
参考文章:http://www.swordair.com/blog/2010/08/431/
http://www.zhangxinxu.com/wordpress/2011/08/css3-media-queries%E7%9A%84%E4%BA%9B%E9%87%8E%E5%8F%B2%E5%A4%96%E4%BC%A0/
http://webdesignerwall.com/tutorials/css3-media-queries
http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html
如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
响应式web设计之CSS3 Media Queries相关推荐
- CSS3: Media Query实现响应式Web设计
十一长假已然过去了一大半.今天倒真是晴朗的不行,向窗外望去几乎可以看到阳光穿过凉爽的空气一缕缕洒落下来的样子.自从不再是学生,对每年的几次 长假就无比珍惜,想方设法让每一天都尽量过的饱满一些:夜里闭上 ...
- (转)响应式Web设计是大势所趋还是时代的产物
在你身上是否发生过如此一件事,就是在你休息的时间用浏览器最大化的看一些文章.玩一些网页游戏正入迷的时候,时间一点点的过去了,马上到了下午工作的时间了,却发现还差一点就看完,于是乎,你把浏览器缩小了一些 ...
- 响应式Web设计:HTML5和CSS3实战 读书笔记
响应式Web设计:HTML5和CSS3实战 Responsive Web Design with HTML5 and CSS3 By : Pandao pandao####vip.qq.com ...
- 《响应式Web设计:HTML5和CSS3实践指南》——2.9节基于位置伪类的交替行样式
本节书摘来自华章社区<响应式Web设计:HTML5和CSS3实践指南>一书中的第2章,第2.9节基于位置伪类的交替行样式,作者(美) Benjamin LaGrone,更多章节内容可以访问 ...
- HTML5和CSS3响应式WEB设计指南译者序
"不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...
- [书籍精读]《响应式Web设计 HTML5和CSS3实战(第二版)》精读笔记分享
写在前面 书籍介绍:本书主要讲解了如何运用HTML5和CSS3来进行响应式Web设计,使页面的设计与开发根据用户行为以及设备环境(系统平台.屏幕尺寸.屏幕定向等)来进行相应的响应和调整. 我的简评:响 ...
- 【转发】响应式Web设计?怎样进行?
什么是响应式Web设计?怎样进行? 眼下,几乎每个新客户都希望他们的网站可以有专门的移动设备版本.最完美的情况呐,就是为iPhone.iPad.黑莓.Kindle-各自打造一款--页面分辨率还必须兼容 ...
- 什么是响应式Web设计?怎样进行?
开 始第一篇.老规矩,先无聊的谈论天气一类的话题.十一长假,天气也终于开始有些秋天的味道,坐在屋里甚至觉得需要热咖啡.话说两年前也是在国庆假期里开始 做Joomla文档翻译的:长假好时光,总会可以抽出 ...
- 50种响应式web设计的奇妙工具
在您开始着手响应式站点的搭建之前,如果能拥有强有力的开发工具会让您的世界另有一番风采.本文中Denise Javobs和Peter Gasston推荐了50种强大的工具来支持您建造响应式站点的过程. ...
最新文章
- 浓缩精华的架构演进过程,我连看了六遍!
- 【Keras】The added layer must be an instance of class Layer.
- JavaScript实现使用 BITWISE 方法查找集合的幂集算法(附完整源码)
- 搭建K8s集群(平台规划和部署方式介绍)
- 服务器tail正常,cat正常,vim打开中文乱码
- 高阶函数 - 函数节流
- mysql 创建和删除库_mysql入门系列:mysql创建、删除和选择数据库
- 网页版视频监控系统完整版
- 国内主流Hybrid app工具平台推荐
- string.Format()之格式化数值类型数据
- 一个app从设想到上线运营的完整过程
- 用户登录和注册界面的实现
- Web前端开发技术:实验14-16
- 面试题:将字符串中的中英文分开显示
- 谷歌不想再赚吆喝 联手传媒公司豪赌YouTube
- 微信小程序引用fontawesome字体
- 博士这条船[转自交大思源,长文]
- C语言——结构体、共用体
- 初学平面设计如何制作出有创意的作品
- 静态中间继电器ZJY-400/DC110V
热门文章
- 离职盗取代码、倒卖获利800万,北京西二旗程序员被逮捕
- 清华成北京赛赢家,旷视唐文斌分享本质创业 | 联想高校AI精英挑战赛
- hive SQL Standard Based Hive Authorization 权限自定义(二)
- The Future of Compass ElasticSearch
- 【简易教程】人体时钟 ホネホネ・クロック [時計・ブログパーツ]
- C#(asp.net)实现目录(无扩展名)重写
- Python C API 使用详解(二)
- python基本数据类型(一)-python3.0学习笔记
- 屌丝也能开发安卓版2048(App Inventor)
- 软件设计师考试笔记:UML统一建模语言