当我们的浏览器在窗口最大化的时候,此时屏幕的宽度,就是我们桌面的分辨率。这个规则仅仅适用于PC!

我们试图在iPhone中输出屏幕宽度,你会发现屏幕宽度是980!居然和PC屏幕差不多大!

苹果主导的这些手机厂商,为了使用户获得完整web体验(就是让用户在手机屏幕上,也能够看见完整的PC网页),

就大部分设备都会欺骗浏览器返回一个数值较大的“视口”(viewport),告诉浏览器,别以为我身子小,

但是我想以980px宽度来显示这个页面。

iPhone的分辨率1136*640,三星Note3的分辨率1920*1080。但是分辨率和视口没有关系。他们的视口都是980px。

也就是说说,一个width值为980px的盒子,能够在这样的手机中撑满整个页面,并且恰好不出现横向滚动条。

视口对于我们实现响应式是很不方便的。980太大了,不符合我们心中的期待。

我们心中认为手机屏幕尺寸应该小300~400之间。

约束视口。

<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"

name="viewport" id="viewport" />

一个id和name为viewport 的meta元标记,就表示现在要约束视口了。具体约束规则,写在content中,每个约束规则,用逗号隔开。

width=device-width  → 命令视口的宽度,变为设备的宽(以1024*768屏幕为标准。iPhone等手机通常为320~380之间不等)

user-scalable=no → 不允许用户缩放页面

加上了meta视口约束标记之后,iPhone的视口宽度就是320px。

所有的手机响应式界面,都要记得加上meta viewport视口约束标记!!!

jmobile学习之路 ---- 视口的更多相关文章

  1. jmobile学习之路 ----检测屏幕宽度

    <script type="text/javascript"> window.onresize = function(){ var myh1 = document.ge ...

  2. jmobile学习之路 ----设备检测

    用一个库,device.js.这是一种最简单的方法.device.js库,不依赖jQuery框架. <!doctype html> <html lang="en" ...

  3. OpenGL学习之路(五)

    1 引子 不知不觉我们已经进入到读书笔记(五)了,我们先对前四次读书笔记做一个总结.前四次读书笔记主要是学习了如何使用OpenGL来绘制几何图形(包括二维几何体和三维几何体),并学习了平移.旋转.缩放 ...

  4. Qt 学习之路 2(30):Graphics View Framework

    Qt 学习之路 2(30):Graphics View Framework 豆子 2012年12月11日 Qt 学习之路 2 27条评论 Graphics View 提供了一种接口,用于管理大量自定义 ...

  5. Qt 学习之路 2(28):坐标系统

    Qt 学习之路 2(28):坐标系统 豆子 2012年11月25日 Qt 学习之路 2 59条评论 在经历过实际操作,以及前面一节中我们见到的那个translate()函数之后,我们可以详细了解下 Q ...

  6. jQuery学习之路(1)-选择器

    ▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...

  7. Android开发学习之路-RecyclerView滑动删除和拖动排序

    Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...

  8. RPC远程过程调用学习之路(一):用最原始代码还原PRC框架

    RPC: Remote Procedure Call 远程过程调用,即业务的具体实现不是在自己系统中,需要从其他系统中进行调用实现,所以在系统间进行数据交互时经常使用. rpc的实现方式有很多,可以通 ...

  9. webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口

    webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...

随机推荐

  1. python基础七

    subprocess subprocess是专门用来替代os.system;os.spawn更加的先进. 但是subprocess.run()是在python3.5之后才出现的 实例 >> ...

  2. MyBatis的getStatement()方法解析

    执行junit测试: 解析: 抛出这个异常的原因可能是因为mapper.xml配置文件中<mapper>的namespace属性配置错误造成的,没有根据命名空间的值(全称类名)找到相应映射 ...

  3. CDR VBA将字母改为大写

    ActiveShape.Text.FontProperties.Uppercase = cdrSmallCapsFontCase

  4. linux 文件系统

    / 根目录 /bin 存放着启动时所需要的普通程序.很多程序在启动以后也很有用,它们放在这个目录下是因为它们经常要被其他程序调用 /boot 很多Linux系统把内核映像和其他一些和启动有关的文件都放 ...

  5. nginx优化

    此文章非原创,出自鸟哥之手~ http://blog.chinaunix.net/uid-25266990-id-2985541.html 改排版改得多,当然红色部分要注意下,用得较多 ------- ...

  6. Android 中常见控件的介绍和使用

    1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...

  7. dubbox rest服务

    1.xml配置: web.xml 定义监听的contextpath,见rest协议定义 <servlet> <servlet-name>dispatcher</servl ...

  8. javascript 核心语言笔记 4 - 表达式和运算符

    表达式(expression)是 JavaScript 中的一个短语(phrases),JavaScript 解释器会将其计算(evaluate)出一个结果.程序中的常量.变量名.数组访问等都是表达式 ...

  9. gloolooer

    V1.2gloolooer金[http://sh.yun.ftn.qq.com/ftn_handler/0a9043ee7aa120d3c864281211dff2f08efe5e2d42438ec5 ...

  10. 简单的php socket 实例

    server: <?php set_time_limit(0); $ip = '127.0.0.1'; $port = 8888; // 1. 创建 if( ($sock = socket_cr ...