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

因为有多年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. HDU5670Machine(抽象进制)

    有一个机器,它有 m (2\leq m\leq 30)m(2≤m≤30) 个彩灯和一个按钮.每按下按钮时,最右边的彩灯会发生一次变换.变换为: 1. 如果当前状态为红色,它将变成绿色: 2.如果当前状 ...

  2. Git连接到自己的GitHub仓库

    1.配置本地git $git config --global user.name "xxx" $git config --global user.email "xxxxx ...

  3. 简单说说Tk和Tcl

    开园第一个博客,简单说说Tk和Tcl. 我接触Tk和Tcl是在学习Python Tkinter时候,创建Tk对象,下面言归正传: Tcl:工具命令语言,英文全称为Tool Command Langua ...

  4. awk过滤数据

    awk -F ',' '{if($2 ~/\./ ) {print $1,$2 }}' 20160905_names > ttt1 awk -F ',' '{if($2 !~/[0-9]+\.[ ...

  5. Sublime Text3快捷键汇总

    选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数 ...

  6. 有关stdint.h 文件

    有关stdint.h 文件 Google C++编程规范的P25页有如下叙述: <stdint.h> 定义了 int16_t . uint32_t . int64_t 等整型,在需要确定大 ...

  7. 3D Math Library的姿势

    http://www.opentk.com/doc/math http://www.gamedev.net/topic/484756-fast-vector-math-library-for-net/ ...

  8. json 是个什么东西?

    JSONP原理 JSONP(JSON with Padding),就是异步请求跨域的服务器端时,不是直接返回数据,而是返回一个js方法,把数据作为参数传过来.如果只是跨域传递数据那么这种方式是比较好的 ...

  9. 创建menu文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  10. strace命令(收集整理,常看常新)

    starce的用途和参数:http://man.linuxde.net/strace(linux命令大全) strace命令是一个集诊断.调试.统计与一体 的工具,我们可以使用strace对应用的系统 ...