[翻译]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>上介绍了 ...
随机推荐
- input:file属性
1.accept 只能选择png和gif图片 <input id="fileId1" type="file" accept="image/png ...
- KEGG下载某物种最新的版本信息(斑马鱼为例)
步骤一:打开链接并选择物种 http://www.genome.jp/kegg-bin/get_htext?hsa00001+3101 步骤二:对文件进行解析 步骤三:统计信息 一级结构(6大类): ...
- idea下maven项目打包
近使用idea运行maven需要打包上传tomcat服务器.但是网上一直零零碎碎的....自己记录一下.以防后面忘记 1.idea中.file →Project Structure(快捷键Ctrl+S ...
- Maven项目标准目录结构
-----------------------siwuxie095 Maven 项目标准目录结构 1.Maven 项目分为两种 (1)Java 项目 (2)Web 项目 2.对于 Java 项目 其中 ...
- Zabbix监控PostgreSQL
目录 Zabbix监控PostgreSQL 1. 安装libzbxpgsql 2. 配置zabbix配置文件zabbix_agentd.conf 3. 创建监控用户 4. 导入监控模板 5. 主机链接 ...
- php5.4 trait 理解与学习
Trait 是 php5.4引入的新特性,手册上说的一大段没看懂,这里直接来过来. Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制.Trait 为了减少单继承语言的限制,使开发人员 ...
- Golang之(if)流程控制
(if)我能坚持做好一只地鼠,慢慢的刨坑,讲洞挖的深一点…… package main import ( "fmt" ) func testIf1() { num := //var ...
- 自动化部署nginx负载均衡及监控短信报警
题: 开发脚本自动部署及监控 1.编写脚本自动部署反向代理.web.nfs: 要求: I.部署nginx反向代理三个web服务,调度算法使用加权轮询: II.所有web服务使用共享存储nfs,保证所有 ...
- Codeforces 677C. Coloring Trees dp
C. Coloring Trees time limit per test:2 seconds memory limit per test:256 megabytes input:standard i ...
- Codeforces 689C. Mike and Chocolate Thieves 二分
C. Mike and Chocolate Thieves time limit per test:2 seconds memory limit per test:256 megabytes inpu ...