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的更多相关文章

  1. CSS3 Media Queries 详解

    说起CSS3的新特性,就不得不提到 Media Queries .最近 Max Design 更新的一个泛读列表里,赫然就有关于 Media Queries 的文章.同时位列其中的也有前天我刚刚翻译的 ...

  2. CSS3 Media Queries 简介

    原文链接:Introduction to CSS3 Media Queries 原文日期: 2014年2月21日 翻译日期: 2014年2月26日 翻译人员: 铁锚 简介 随着移动设备的日益普及,we ...

  3. 【css】CSS3 Media Queries 详解【转】

    说起CSS3的新特性,就不得不提到 Media Queries .最近 Max Design 更新的一个泛读列表里,赫然就有关于 Media Queries 的文章.同时位列其中的也有前天我刚刚翻译的 ...

  4. CSS3 Media Queries 实现响应式设计

    在 CSS2 中,你可以为不同的媒介设备(如屏幕.打印机)指定专用的样式表,而现在借助 CSS3 的 Media Queries 特性,可以更为有效的实现这个功能.你可以为媒介类型添加某些条件,检测设 ...

  5. 【CSS3 入门教程系列】CSS3 Media Queries 实现响应式设计

    在 CSS2 中,你可以为不同的媒介设备(如屏幕.打印机)指定专用的样式表,而现在借助 CSS3 的 Media Queries 特性,可以更为有效的实现这个功能.你可以为媒介类型添加某些条件,检测设 ...

  6. CSS3 Media Queries 片段

    CSS3 Media Queries片段 在这里主要分成三类:移动端.PC端以及一些常见的响应式框架的Media Queries片段. 移动端Media Queries片段 iPhone5 @medi ...

  7. HTML5实践 -- 使用CSS3 Media Queries实现响应式设计

    CSS3 Media用法介绍:http://www.w3cplus.com/content/css3-media-queries 转载请注明原创地址:http://www.cnblogs.com/so ...

  8. CSS3 Media Queries模板

    使用max-width @media screen and (max-width: 600px) { //你的样式放在这里.... } 使用min-width @media screen and (m ...

  9. CSS3 Media Queries在iPhone4和iPad上的运用

    CSS3 Media Queries的介绍在W3CPlus上的介绍已有好几篇文章了,但自己碰到的问题与解决的文章还是相对的较少.前几天在<修复iPhone上submit按钮bug>上介绍了 ...

随机推荐

  1. 60. Permutation Sequence (String; Math)

    The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the p ...

  2. Python requests 使用心得

    最近在用requests写一些项目,遇见了一些问题,百度了很多,有些都不太好使,最后看了下requestsAPI文档,才明白了很多,最后项目趋于稳定.看来学东西还是API文档比较权威啊~ 问题场景 项 ...

  3. MySQL基本操作之命令行操作

    MySQL基础操作 MySQL基础操作--命令行操作

  4. Loitor_产品(一)

    源码:https://github.com/loitor-vis/vi_sensor_sdk 注意:以下要一直在管理员权限 1.C++ 示例程序的编译步骤 先确认你的系统已经成功安装了OpenCV. ...

  5. VMware安装centos虚拟机 通过NAT与主机互通并能上网

    1.关于centos虚拟机的安装,我这里就不详细说明了,网上有很多教程,默认你们已经安装好.       (我的环境是centos6.6 x86 最小安装版) 2.右键虚拟主机,选择设置选项. 3.在 ...

  6. How to Check if Linux (Ubuntu, Fedora Redhat, CentOS) is 32-bit or 64-bit

    The number of CPU instruction sets has kept growing, and likewise for the operating systems which ar ...

  7. spring boot2.03 spring cloud Finchley.RELEASE遇到的问题

    1.spring cloud bus 本地不能更新 原因是@RefreshScope注解要加在需要更新的controller上 2.No instances found of configserver ...

  8. js父子窗口传值以及当前页面在js前台如何获得url参数

    1.首先是父页面用window.open打开窗口 <%@ Page Language="C#" AutoEventWireup="true" CodeBe ...

  9. xampp环境 安装 用法 composer

    准备工作 1.打开PHP配置文件E:\xampp\php\php.ini确认以下模块已开启(移除前面的分号). extension=php_openssl.dll, extension=php_cur ...

  10. 破解Unity5.3.4f1

    破解的目的是将受限的个人版变为全功能的Pro版,破解后就可以使用所有功能了,界面也变成了黑色的主题. 破解网址(支持最新版的5.3.4f1): http://www.ceeger.com/forum/ ...