最近无聊的很,买了本教材,学习响应式网站设计。

因为有多年css的编程基础,前面的媒介查询学的很顺利。当学到viewport这个mata标签的时候,教程讲的比较简单。

今天,百度了不少资料,基本搞清楚了这个概念。

1、viewport是针对移动终端而言的,最先由苹果公司提出,这不奇怪,移动终端,那苹果是老大。

2、viewport书写规则一般是这样的<meta name="viewport"  content="width=device-width,initial-scale=1.0,user-scalable=no" />

3、viewport的大体意思就是手机浏览网页时的可见区域。

4、由于网页通常是针对计算机屏幕设计的,宽度通常都在960px以上,手机怎么能放下呢?哪位说了,手机分辨率现在不也老大了么?也有900多。那好吧!

可问题是电脑和手机像素点不一样大,对应着放过来,结构和网页的整体面貌固然没变,但是字体呢?图像呢?不知道缩小了多少倍,谁能看得见?哪位又说了,不是可以用两个指头把手机屏幕放大吗?好吧,你又赢了。可你想过没有,此刻,又出现了新问题,讨厌的滚动条出现了,需要左右滑动屏幕才能找见内容。这可不是我想要的结果。

5、此刻,viewport出现了。

先耐住性子,听我讲另一个概念,不然一会儿又糊涂了。什么概念?就是css里经常用到的像素,即px。既然上面说了,电脑屏幕和手机屏幕像素点并不一样大,那么,当用手机终端打开网页的时候,px以那个为准哪?用手机打开,当然是以手机的更小的像素点为准了。这就是为什么字体变得特别小的原因。

又回到刚才的问题了。陷入死循环无解了吗?

人类的智慧是谁都无法阻挡的。

其实……,说了半天废话,真正想说的是,手机浏览器理解的px的大小也是电脑屏幕那么大。哪位有谁了,怎么可能呢?我也不知道,可事实好像就是这样,这里的机制我也没搞懂,但其中有一二叫做TdevicePiexRitio的参数很重要。这个参数的意思就是二者的比例。

6、据说,viewport还有几个呢。一个叫做layout viewport,还有一个叫做visual viewport,还有一个叫做ideal viewport。layout viewport即网页的原始大小,手机浏览器都有预置值。后来又出现了visual viewport,就是可见的浏览器窗口。  最重要的是这个ideal viewport,它实际上就是divice-width。

7、一旦设置了width为device-width,这时候,initial-scale参数就起作用了,缩放的标准就是device-width,党initial-scale=2的时候,viewport实际尺寸缩小了一半,即假若device-width为360px,那么,此刻,viewport仅有180px的宽度。也就是说,电脑上制作移动web的时候,只需要设计180px,页面就可以充满手机屏幕了。

关于viewport的更多相关文章

  1. CSharpGL(35)用ViewPort实现类似3DMax那样的把一个场景渲染到4个视口

    CSharpGL(35)用ViewPort实现类似3DMax那样的把一个场景渲染到4个视口 开始 像下面这样的四个视口的功能是很常用的,所以我花了几天时间在CSharpGL中集成了这个功能. 在CSh ...

  2. 移动WEB开发之viewport

    问题: 在codepen上写了一个响应式页面,调试的时候没有问题.结果放到网站上,在手机上打开之后竟然和在电脑中的布局是一样的.         查阅资料之后知道响应式布局应该有这样一句话:<m ...

  3. viewport理解

    viewport预备知识 dpr === dppx dpr:device pixel ratio 设备像素比 dppx:Number of dots per px unit 每像素有多少点 . 1dp ...

  4. 移动WEB viewport 相关知识

    了解移动web viewport的知识,主要是为了切图时心中有数.本文主要围绕一个问题:切图时怎样设置<meta name="viewport">相关参数?围绕这个问题 ...

  5. 理解SVG的viewport,viewBox,preserveAspectRatio

    万丈高楼平地起,基础很重要. viewport 表示SVG可见区域的大小,或者可以想象成舞台大小,画布大小. <svg width="500" height="30 ...

  6. 移动端开发viewport深入理解(转)

    一.viewport的概念   移动设备上的viewport就是设备的屏幕上能用来显示我们的网页的那一块区域,就是浏览器上用来显示网页的那部分区域,但viewport不局限于浏览器可视区域 的大小,它 ...

  7. 移动前端开发之viewport的深入理解

    在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或 ...

  8. HTML5开发手机应用--viewport的作用

    在用HTML5开发手机应用或手机网页时,<head>部分总会有如下一段代码,这段代码到底什么意思呢.在网上,大家会得到很多答案.我从网上搜集了部分介绍,整理一下,以留备用. <met ...

  9. 从viewport发现小米手机参数不一致

    想要在移动web领域有所深造的小伙伴,第一关要过的就是逻辑像素与设备像素之间的关系. 初入移动web,一定要搞懂的几个单位(DPI.PPI.DP.PX 的详细计算方法及算法来源是什么?): dip(d ...

  10. 移动开发viewport

    三种 viewport layout viewport:文档流的 css 宽度,是一个静态的值,使用 document.documentElement.clientWidth 获取,在meta中是 w ...

随机推荐

  1. python 时间类型和相互转换

    time有四种类型(time, datetime, string, timestamp) 1. time string string是最简单的表示time的方式 如如下代码生成的即为string &g ...

  2. 实现BPEL4WS演示:教程

    http://www.ibm.com/developerworks/cn/education/webservices/ws-bpelws/bpel_tutorial_cn.html 开始 什么是Bus ...

  3. Opencv中将CvMat转为IplImage

    Opencv中将CvMat转为IplImage,并在内存获得起头指针,而不用cvSaveImage(),贴上代码 IplImage * imgg = NULL; imgg = cvCreateImag ...

  4. 简单实现Windows服务 TopShelf

    Nugut安装 log4net 和 topShelf 1)ServiceRunner类 using log4net;using Topshelf; class ServiceRunner : Serv ...

  5. C# 文件操作大全

    1.创建文件夹//using System.IO;Directory.CreateDirectory(%%1); 2.创建文件//using System.IO;File.Create(%%1); 3 ...

  6. 枚举类型Enum

    包java.dataStructure中,文件名Enum_demo.java 在JDK5中引入了一个新的关键字——enum,可以直接定义枚举类型 在申明枚举类的时候,也可以申明属性.方法和构造函数,但 ...

  7. JavaBean出现的目的

    一.JavaBean出现的目的 由于只用JSP开发会发现使用了很多的Scriptlet,会使得jsp文件非常混乱.如果使用了JavaBean,则可以大大减少JSP中代码量. JSP的理想状态是只负责显 ...

  8. TF-IDF 加权及其应用

    TF-IDF 加权及其应用 TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索的常用加权技术.TF-IDF是一种统计方法,用以评估某个 ...

  9. Nginx限制某个IP同一时间段的访问次数

    nginx可以通过HttpLimitReqModul和HttpLimitZoneModule配置来限制ip在同一时间段的访问次数. HttpLimitReqModul用来限制连单位时间内连接数的模块, ...

  10. 整理一下Entity Framework的查询

    整理一下Entity Framework的查询 2012-08-30 13:41:59 标签:Entity Framework 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信 ...