[翻译]CSS3 Media Queries
Media Queries Official Manual:http://www.w3.org/TR/css3-mediaqueries/
原文链接:http://www.smashingmagazine.com/2010/07/19/how-to-use-css3-media-queries-to-create-a-mobile-version-of-your-website/
在CSS2中就通过media types来实现media queries(媒体查询)的功能特性了。你可以使用Media Types来指定所要的一种媒体目标,所以你可以指定print,handled等等,但是这些媒体类型被支持得太少,所以你很少看到media types在被使用,除了print媒体类型。
在CSS3中,Media Queries得到了进一步的发展,它不再是以设备的类型为主,而更多的是关注设备的容量(the capability of the device),而且你可以使用来检查各种各样子的设备。例如:
- 宽度和高度(浏览器窗口)
- 设备的宽度和高度
- 方向——例子就是一台手机是横向(landscape)显示,或直向(portrait)显示?
- 分辨率(resolution)
Media Queries的第一种用法就是,我们直接在原来的样式文件中添加针对小屏幕设备的media queries样式。如下所示:
A very simple two columns layout
如果用户的浏览器是支持media queries的,那么我们就可以写出特定的CSS来解决特定的情景,例如检测到用户是使用诸如智能手机这样子的小屏幕设备,那么就返回专门的布局页面给这些访问请求。
我们并不是将原来的网站缩小来适应小屏幕设备,而是将内容重构,让页面更加友好的在小屏幕的设备上显示。
为了适应小屏幕设备,我们可以使用下面的语法:
@media only screen and (max-device-width: 480px){
}
然后我们可以在花括号内为了小屏幕和小宽度的设备添加CSS,通过使用瀑布流式来组织的样式可以让我们先前为桌面浏览器而写的样式,得到很方便的重写,只要这部分样式放在你CSS文件的最后,那么它就会重写先前的样式规则。因此,线性化我们的布局与使用更小的头部图片,那么可以添加下面的样式。
@media only screen and (max-device-width: 480px){
div#wrapper{
width: 400px;
}
div#header{
background-image: url(media-queries-phone.jpg);
height:93px;
position:relative;
}
div#header h1{font-size:140%;}
#content{float:none;width:100%;}
#navigation{float:none;width:auto;}
}
上面的样式中使用替换的背景图片,并减小头部的高度,然后将内容(#content)和导航(#navigation)不浮动,同时重写覆盖前面样式所定义的宽度,这些样式只会在小屏幕设备下面才生效。如下图:
Media queries的第二种用法就是:通过media queries引用一个独立分离的样式文件(linking a separate stylesheet using media queries)
上面第一种Media queries用法就是通过内联,如果你只是做很少的一些改变,那么通过为了设备添加特定的内联样式代码是一种好方式。如果你的样式中包含了很多的重写,又或者你想要将桌面浏览器的样式与那些小屏幕设备使用的样式完全分离,那么引用一个独立的样式文件可以让使CSS分离。
在你的主要样式文件后面添加一个独立的样式文件,并且使用瀑布刘方式重写那些规则,使用方法如下:
<link rel="stylesheet" type="text/css" media="only screen and (max-device-width: 480px)" href="small-device.css" />
[翻译]CSS3 Media Queries的更多相关文章
- CSS3 Media Queries 详解
说起CSS3的新特性,就不得不提到 Media Queries .最近 Max Design 更新的一个泛读列表里,赫然就有关于 Media Queries 的文章.同时位列其中的也有前天我刚刚翻译的 ...
- CSS3 Media Queries 简介
原文链接:Introduction to CSS3 Media Queries 原文日期: 2014年2月21日 翻译日期: 2014年2月26日 翻译人员: 铁锚 简介 随着移动设备的日益普及,we ...
- 【css】CSS3 Media Queries 详解【转】
说起CSS3的新特性,就不得不提到 Media Queries .最近 Max Design 更新的一个泛读列表里,赫然就有关于 Media Queries 的文章.同时位列其中的也有前天我刚刚翻译的 ...
- CSS3 Media Queries 实现响应式设计
在 CSS2 中,你可以为不同的媒介设备(如屏幕.打印机)指定专用的样式表,而现在借助 CSS3 的 Media Queries 特性,可以更为有效的实现这个功能.你可以为媒介类型添加某些条件,检测设 ...
- 【CSS3 入门教程系列】CSS3 Media Queries 实现响应式设计
在 CSS2 中,你可以为不同的媒介设备(如屏幕.打印机)指定专用的样式表,而现在借助 CSS3 的 Media Queries 特性,可以更为有效的实现这个功能.你可以为媒介类型添加某些条件,检测设 ...
- CSS3 Media Queries 片段
CSS3 Media Queries片段 在这里主要分成三类:移动端.PC端以及一些常见的响应式框架的Media Queries片段. 移动端Media Queries片段 iPhone5 @medi ...
- HTML5实践 -- 使用CSS3 Media Queries实现响应式设计
CSS3 Media用法介绍:http://www.w3cplus.com/content/css3-media-queries 转载请注明原创地址:http://www.cnblogs.com/so ...
- CSS3 Media Queries模板
使用max-width @media screen and (max-width: 600px) { //你的样式放在这里.... } 使用min-width @media screen and (m ...
- CSS3 Media Queries在iPhone4和iPad上的运用
CSS3 Media Queries的介绍在W3CPlus上的介绍已有好几篇文章了,但自己碰到的问题与解决的文章还是相对的较少.前几天在<修复iPhone上submit按钮bug>上介绍了 ...
随机推荐
- hadoop无法启动常见原因
1.Could not chdir to home directory /home/USER: Permission denied 启动datanode时会报这个错误,尝试利用ssh登录datanod ...
- Flexvolume
https://kubernetes.io/docs/concepts/storage/volumes/ https://github.com/kubernetes/community/blob/ma ...
- destoon 分页
php: global $pagesize,$page; $pagesize = 10;//分页改为10条一页 $offset or $offset = ($page-1)*$pagesize; $t ...
- pip批量更新安装的包
------------------pip批量更新库-------------------- 1)查看过期的库 pip list --outdated 更新单一的库: pip install --u ...
- RN项目中关于父子组件的通信
子组件向父组件传递数据 子控件中在相应的函数中.通过props.coallback的回调通知父组件. 父组件调用callback属性时行 绑定,并在方法中去解析使用获取到的值 . //子控件: < ...
- 查看webdriver针对浏览器的一些函数
在用webdriver对浏览器进行操作时,很多操作并不是那么好找,后来在朋友的推荐下可以用下面的方法来寻找针对浏览器的一些操作,函数或属性等,这样方便我们可以查找一些方法去完成我们要的操作. 下面是查 ...
- debug、release
1.区别 Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动.如果我们愿意,我们完全可以把Debug和Release的行为完全颠 ...
- haproxy 参数说明
说明: 1.haproxy的配置段有"global","defaults","listen","frontend"和&q ...
- 在Linux下配置jdk的环境变量
jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在根目录新建s ...
- ECMAScript6新特性之继承
class Animal{ constructor(name){ this.name = name; } get name(){ return this._name; } set name(val){ ...