HTML中元视窗属性的用法

HTML中元视窗属性的用法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

什么是视窗
手机浏览器是把页面放在一个虚拟的“窗口”(视窗)中,通常这个虚拟的“窗口”(视窗)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。移动版的Safari浏览器最新引进了视窗这个meta标签,让网页开发者来控制视窗的大小和缩放,其他手机浏览器也基本支持。
视窗基础
一个常用的针对移动网页优化过的页面的视窗元标签大致如下:

& lt; meta name=" viewport "内容=翱矶?设备宽度,初始=1,最大范围=1”在

宽度:控制视窗的大小,可以指定的一个值,如600年果,或者特殊的值,如设备宽度为设备的宽度(单位为缩放为100%时的CSS的像素)。
:高度和宽度相对应,指定高度。
初始:初始缩放比例,也即是当页面第一次加载的时候缩放比例。
最大范围:允许用户缩放到的最大比例。
最小刻度:允许用户缩放到的最小比例。
user-scalable:用户是否可以手动缩放
关于视窗的一些问题
视窗并非只是ios上的独有属性,在android, winphone上同样也有视窗。它们要解决的问题是相同的,即无视设备的真实分辨率,直接通过dpi,在物理尺寸和浏览器之间重设分辨率,这个分辨率和设备的分辨率无关。比如,你拿个3.5寸-320 * 480的iphone3 gs, 3.5寸-640 * 960的iphone4或者9.7寸-1024 * 768的ipad2,虽然设备的分辨率不同,物理尺寸也不同,但你可以通过设置视窗让它们在浏览器里有相同的分辨率。比如说,你的网站是800 px宽,你可以通过设置视窗的宽度=800,来让你的网站在这三个不同的设备上都刚好满屏显示你的网站。
以上的知识,相信每个对视窗稍有了解的同学应该都已经了解了。这不是我今天想说的重点。我想说明的是窗口在ios和android上的一些差异表现。
网上一搜关于视窗的知识,基本上全都是如下信息:

& lt;元name=皏iewport"内容=翱矶?设备宽度,初始=1.0,最大范围=1.0,最小规模=1.0,user-scalable=no"/在

这段代码的意思是,让视窗的宽度等于物理设备上的真实分辨率,不允许用户缩放。一都主流的web应用程序都是这么设置的,它的作用其实是故意舍弃视窗,不缩放页面,这样dpi肯定和设备上的真实分辨率是一样的,不做任何缩放,网页会因此显得更高细腻。玩ps的同学应该都知道,当你将一张1000 * 1000的图片直接缩放至500 * 500分变成什么样,对吧?图片的失真一定逃不掉。
但我要做的一个应用却恰恰相反,需要利用视窗,利用缩放。不论真实分辨率是多少,无论物理尺寸是多少,我都希望在浏览器里,能有统一的分辨率,同时也不允许用户缩放。我用来测试的设备有:iphone4, ipad2, htc的g11,不知道什么厂商的产品aquos电话(android系统),华硕的android垫,戴尔的winphone然后我一路遇到了如下问题:
1)如果不显示地设置视窗,那么宽度的默认为980。如果页面的所有元素宽度都小于980年,此时宽度为980,如果页面最宽的位置超过980,那么宽度等于最大宽度。总之,默认能将整个页面从左到右显示出来。如果设置了视窗,比如,只单纯地设置了user-scalable=不,例如& lt;元name=皏iewport"内容=皍ser-scalable=no"ios/祝辞,那么下宽度还是按980显示(即默认就会通过dpi缩放),但android和winphone下却不会再缩放了,浏览器分辨率和真实设置分辨率一致。


2)对于ios设备,设置宽度可以生效,但对于android,设置宽度并不会生效.ios设备,缩放的比率即dpi是通过你设置的宽度和设置真实分辨率自动计算的,而android下你设置宽度无效,你能设置的是一个特殊的字段target-densitydpi,关于target-densitydpi可以参考一下这篇文章:http://hi.baidu.com/j_fo/blog/item 748361279 ebccd18908f9d7d。html。也就是说,有三个变量:浏览器宽度、设备真实宽度,dpi。我们简单地用个公式来表达它们之间的关系吧(并非真实关系,简单说明用)设备真实宽度* dpi=浏览器宽度,这里的三个变量,设备真实宽度是个我们不能操作的已知值,另外两个变量我们可以设置一个来影响另一个,在ios中,我们能改的是浏览器宽度,dpi自动生成,而在android中,我们能改的是dpi,浏览器宽度自动生成。对于android,无论我们如何设置宽度,也不会对浏览器宽度产生影响。

HTML中元视窗属性的用法