使用em 判断的media query 在用户缩放的时候不会被破坏,使用em更加合适内容为王的页面趋势

 
内容的容器需要根据内容而按比例设置,就像line-height:1.14em,文字大小的1.14倍

 
100% = 1 em ~= 16px ~= 14pt ,这是默认浏览器baseline为16px/14pt的情况
因此 @media all and (min-width: 400px) 近似于 @media all and (min-width: 25em)
 
但如果baseline不是16px/14pt的话,用px定义的内容容器就不会自适应了
 
举例: @media all and (min-width:656px) 下图放大内容导航就撑破了,改规则仍旧生效:
 
使用em 作为media query的单位就能够适应内容,@media all and (min-width: 41em),该规则不在生效,用更小的规则匹配:
例如原来 16*41em = 656, 放大以后656/32 = 20.5em ,所以会匹配更小的规则
 
 
 
(ps kindle touch 的默认字体就比 16px/14pt 要大,而且虽然是黑白的,但是却匹配@media all and (color)  )
 
 
该技术的定义:

All you need to do to transform your desktop web design into something optimized for devices withsmaller screens, less powerful CPUs, and slower network connections is to add more code.(代价 more download)

使用media query做响应式界面的问题:
1、想着只传递高分辨率图片,让css去定义图片大小,不在图片标签里面定义,有副作用,耗CPU和内存,设备性能的增强缓解
2、不必要的大图片下载,一张330*345的图片,放到iPhone里大概150*157
3、使用 css传递不同图片没用。如果用display:none 让图片不显示,iPhone仍然会下载该图片。而使用背景图片控制情况很复杂
4、媒体查询不会移除不需要的javascript或者html,不会优化
 
 
但是设备屏幕的多元化趋势,让响应式设计(不管使用什么技术实现)不可避免
 
 
 
针对屏幕密度样式
<link
    rel="stylesheet"
    type="text/css"
    href="/css/retina.css"
    media="only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)"
/>
 
@media only screen (-moz-min-device-pixel-ratio: 2), 
only screen and (-o-min-device-pixel-ratio: 2/1), 
only screen and (-webkit-min-device-pixel-ratio: 2), 
only screen and (min-device-pixel-ratio: 2) {
 /*use CSS to swap out your low res images with high res ones here*/
}

media query 单位的更多相关文章

  1. 自适应页面设计: Viewport控制, media query和相对单位

    viewport,视口,就是对用户的可见部分, 大小因设备而不同.H5引入. * 没有它: 整体缩放 ( 老网页是固定的大小,浏览器在手机上只是简单地缩放整个页面,所以用户体验很差) * 有了它: 浏 ...

  2. media query ie8- 兼容实现总结

    虽然说响应式设计的理想状态是,需对pc/移动各种终端进行响应:但是现实是高分辨率的pc端与手机终端屏幕相差太大,像电商这样有大量图片和文字信息的同时排版要求精准的页面,设计一个同时适应高分辨率pc又适 ...

  3. css3 响应式布局 Media Query

    1.什么是响应式布局? 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简单说就是一个网站能够兼容多个终端. 2.响应式布局的优缺点? 优点:面对不同分辨率设备灵活性强,快捷 ...

  4. 一种让 IE6/7/8 支持 media query 响应式设计的方法

    在不同的浏览器宽度下使用不同的 CSS 声明,常见的方案是使用 media query,但这个方案不支持 IE9 以下浏览器. 国外比较流行的 UI 框架 bootstrap v3 版本中使用 med ...

  5. iPhone CSS media query(媒体查询)

    iPhone5  iPhone6  iPhone6Plus iPad设备 media query(媒体查询)代码. iPhone < 5: @media screen and (device-a ...

  6. [转]CSS3 Media Query实现响应布局

    讲到响应式布局, 相信大家都有一定的了解,响应式布局是今年很流行的一个设计理念,随着移动互联网的盛行,为解决如今各式各样的浏览器分辨率以及不同移动设备的显示效果, 设计师提出了响应式布局的设计方案.今 ...

  7. viewport和media query

    viewport: 你可以定义viewport的宽度.如果你不使用width=device-width,在移动端上你的页面延伸会超过视窗布局的宽度(width=980px),如果你使用了width=d ...

  8. media query学习笔记

    原文转自:http://blog.csdn.net/renfufei/article/details/19981133 http://www.cnblogs.com/softlover/archive ...

  9. media type与media query

    media type(媒体类型)是css 2中的一个非常有用的属性,通过media type我们可以对不同的设备指定特定的样式,从而实现更丰富的界面.media query(媒体查询)是对media ...

随机推荐

  1. Select()使用否?

    David Treadwell ,Windows Socket 的一位开发者,曾经在他的一篇名为"Developing Transport-Independent Applications ...

  2. Linux系统管理命令(1)accton的使用

    安装: apt install acct accton accton命令是Linux系统进程管理命令之一,它的作用是打开进程统计,如果不带任何参数,即关闭进程统计.         具体用法为:acc ...

  3. Vim的基本使用(二)

    本文为原创文章,转载请标明出处 目录 11.可视模式 12.指定计数 13.重复命令 14.外部命令 15.命令行编辑 16.文件编辑 17.分割窗口 18.GUI命令 19.配置 20.Vim Ch ...

  4. M-定在下边的区域

    1 效果 2 布局 3 样式

  5. Hibernate操作数据库的回调机制--Callback

     1:一般情况下,在使用Hibernate Session存取数据库的代码中,基本上大部分是相同的,如下两个方法所示, //查询Teacher操作 ublic Teacher getTeacher ...

  6. 江西省移动物联网发展战略新闻发布会举行-2017年10月江西IDC排行榜与发展报告

    编者按:当人们在做技术创新时,我们在做“外包产业“:当人们在做制造产业,我们在做”服务产业“:江人们在做AI智能时,我们在做”物联网“崛起,即使有一个落差,但红色热土从不缺少成长激情. 本期摘自上月初 ...

  7. SQLyog快捷键汇总

    Ctrl+M   创建一个新的连接Ctrl+N   使用当前设置新建连接Ctrl+F4   断开当前连接 对象浏览器 F5   刷新对象浏览器(默认)Ctrl+B   设置焦点于对象浏览器 SQL 窗 ...

  8. vim 自动在操作符 前后加上空格 C语言

    function! Align_Space() let current_line = getline('.') let replacement = substitute(current_line,'\ ...

  9. Python学习常用的好网站

    以下总结出自己在学习python期间常用的网址或者资源,其中包括很多人的博客,方便自己从这个入口查找资源. 1.https://www.liaoxuefeng.com/wiki/00143160895 ...

  10. 一天工作所用到的Git命令

    一天工作所用到的Git命令 像大多数新手一样,我一开始是在网上搜索 Git 命令,然后把答案复制粘贴,并没有真正理解它们究竟做了什么. 后来我曾经想过:"如果有一个最常见的 Git 命令的列 ...