1.屏幕方向

竖屏
@media screen and (orientation:portrait)
横屏
@media screen and (orientation:landscape)

2.像素,分辨率

@media screen and (-webkit-min-device-pixel-ratio:2)

(1) CSS pixels与device pixels
CSS pixels: 浏览器使用的抽象单位, 主要用来在网页上绘制内容。
device pixels: 显示屏幕的的最小物理单位,每个dp包含自己的颜色、亮度。

等值的 CSS pixels在手机屏幕上占多大的位置,这不是固定的,这取决于很多属性。经过分析和总结,我们可以得出这么一条公式: 1 CSS pixels = (devicePixelRatio)^2 device pixels (^2是平方的意思,至于 devicePixelRatio是什么东西,后面会讲解) 。

(2) PPI/DPI
PPI,有时也叫DPI,所表示的是每英寸所拥有的像素(pixel)数目,数值越高,即代表显示屏能够以越高的密度显示图像。(注:这里的像素, 指的是device pixels。)搞清楚了PPI是什么意思,我们就能很容易理解PPI的计算方式了,我们需要首先算出手机屏幕的对角线等效像素,然后处以对角线(我们平 常所说的手机屏幕尺寸就是说的手机屏幕对角线的长度),就可以得到PPI了。准确的计算公示大家可以参照下图。比较有意思的是,根据公式计算出来的 iPhone 4的PPI为330,要比苹果官方公布的326要高一点点。

(3) 密度决定比例

由上图可知,PPI在120-160之间的手机被归为低密度手机,160-240被归为中密度,240-320被归为高密度,320以上被归为超高密度(Apple给了它一个上流的名字——retina)。

这些密度对应着一个特定的缩放比例值,拿我们最熟悉的iphone4或4s来说,它们的PPI是326,属于超高密度的手机。当我们书写一个宽度为 320px的页面放到iphone中显示,你会发现,它竟然是满宽的。这是因为,页面被默认放大了两倍,也就是640px,而iphone4或4s的宽, 正是640px。

图中把高密度的一类圈起来,是因为这是android手机的统计数据,在国内安卓手机市场中,高密度的设备占了绝大多数的市场份额,这是很重要的一点,也是我们做安卓端webapp要注意的关键点。

3.js操作兼容判断

1.window.devicePixelRatio//获得设备像素缩放比
2.js操作媒体查询

var mq=window.matchMedia('screen and (min-width: 800px)');//当媒体查询的状态改变时,例如页面由799变成了801px
mq.addListener(widthWatch);function widthWatch(){if(mq.matches){//........满足条件}else{//........}
}
widthWatch();

webApp——媒体查询相关推荐

  1. 响应式布局之媒体查询

    媒体查询主要是对各种移动端设备的一个响应式兼容,可以在 @media only screen and (min-width: 屏幕宽度最小值) and (max-width: 屏幕宽度最大值){你所要 ...

  2. 媒体查询漫谈——@media Queries

    通过不同的媒体类型和条件定义样式表规则.媒体查询让CSS可以更精确作用于不同的媒体类型和同一媒体的不同条件.媒体查询的大部分媒体特性都接受min和max用于表达"大于或等于"和&q ...

  3. CSS3-多媒体查询

    @media规则在css2中就有介绍,针对不同媒体颗星可以定制不同的样式规则.例如:你可针对不同的媒体类型(包括显示器.便携设备.电视机等等)设置不同的样式规则.但这些多媒体类型在很多设备上支持还不够 ...

  4. iPhone系列设备媒体查询:

    这就引出一个问题,我们在对iPhone设备适配时候,又多出几种情况.iPhone系列设备媒体查询: @media only screen and (min-device-width: 320px){/ ...

  5. 好程序员web前端技术分享媒体查询

    为什么80%的码农都做不了架构师?>>>    好程序员web前端技术分享媒体查询 什么是媒体查询 媒体查询可以让我们根据设备显示器的特性(如视口宽度.屏幕比例.设备方向:横向或纵向 ...

  6. 移动端zepot媒体查询media queries

    使用zepot做轮播图 <head> <meta charset="utf-8"> <meta name="viewport" c ...

  7. 媒体查询 响应式设计

    一.媒体查询 <1>作用 使用 @media 查询,你可以针对不同的媒体类型定义不同的样式. @media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@m ...

  8. css媒体查询移动优先和pc优先

    移动优先,默认你是用手机浏览该网页的,当你用pc浏览时,就会以min-width进行递增式媒体查询 <!DOCTYPE html> <html lang="en" ...

  9. css媒体查询标准,CSS 媒体查询 - 实例

    列的媒体查询 媒体查询的常见用法是创建弹性布局.在本例中,我们创建了一个布局,该布局在四列.两列和全宽列之间变化,具体取决于不同的屏幕尺寸: 大型屏幕: 中等屏幕: 小型屏幕: 实例 /* 创建彼此相 ...

最新文章

  1. SpringBoot中使用AOP打印接口日志的方法(转载)
  2. 2、Keepalived提供日志与双主模型演示
  3. (八) shiro + spring + mybatis整合开发
  4. Java 并发数据结构
  5. JavaScript学习笔记——事件
  6. C++实现的大整数分解Pollard's rho算法程序
  7. 精进 Quartz—Quartz大致介绍(一)
  8. CTFmisc常见音频隐写总结
  9. 计算机硬件 试题,计算机硬件试题150完整版
  10. AutoCAD坐标与图像坐标
  11. 2014.07.30 Hosts更新
  12. 三维空间坐标的旋转算法详解_三维空间几何坐标变换矩阵.ppt
  13. C语言的va_list使用方法
  14. QQ拼音直接提权WIN8
  15. Python写的简单雷电小游戏
  16. 线程wait、join用法
  17. 学校计算机教室自查报告,多媒体教室自查报告
  18. html 分享到新浪微博,jQuery实现鼠标选文字发新浪微博的方法
  19. 《Spark SQL大数据实例开发》9.2 综合案例实战——电商网站搜索排名统计
  20. Linux命令---scp

热门文章

  1. 简述计算机构位移的目的,简述应变片的选用原则
  2. 【NOIP2006 普及组】T3 Jam 的计数法 题解
  3. Java编程思想读书笔记——初始化与清理(二)
  4. 如何在信号中添加指定信噪比的高斯白噪声,为何深度学习去噪研究采用高斯白噪声?
  5. ssm在线考试系统设计与实现(论文+程序设计+数据库文件)下载
  6. Numpy数据处理基础方法:运算、随机排列、修改
  7. ubuntu下编写C语言程序
  8. blender script mmd_tool 自动重命名刚体到合适的名字
  9. messagrbox自定义按钮c语言,基于dialogbox修改可自定义按钮及事件的弹出框插件
  10. cocoapods最新踩坑以及更新