viewport的作用

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

    “viewport”,翻译为中文可以叫做“视区”,大家都知道移动设备的屏幕一般都比PC小很多,webkit浏览器会将一个较大的“虚拟”窗口映射到移动设备的屏幕上,默认的虚拟窗口为980像素宽(目前大部分网站的标准宽度),然后按一定的比例(3:1或2:1)进行缩放。也就是说当我们加载一个普通网页的时候,webkit会先以980像素的浏览器标准加载网页,然后再缩小为490像素的宽度。注意这个缩小是一个全局缩小,也就是页面上的所有元素都会缩小。

源码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>html5</title>
</head>
<body>
	
<style>
body{margin:0;}
.head{height:100px;background:#eee;}
.main{height:500px;background:#999;}
.footer{height:80px;background:#666;}
</style>


<div class="head"></div>
<div class="main"></div>
<div class="footer"></div>

</body>
</html>

移动端(魅族MX3魅族浏览器):

223341_Doz6_1267040.jpg

增加一句:

<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;" />

于是:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;" />
<title>html5</title>
</head>
<body>
	
<style>
body{margin:0;}
.head{height:100px;background:#eee;}
.main{height:500px;background:#999;}
.footer{height:80px;background:#666;}
</style>


<div class="head"></div>
<div class="main"></div>
<div class="footer"></div>

</body>
</html>

移动端效果图:

223521_DDE5_1267040.jpg

viewport属性解析:

width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
height:和 width 相对应,指定高度。
initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。
maximum-scale:允许用户缩放到的最大比例。
minimum-scale:允许用户缩放到的最小比例。
user-scalable:用户是否可以手动缩放

对应代码:

<meta name="viewport" content="
width=device-width,
height=device-height,
inital-scale=1.0,
maximum-scale=1.0,
user-scalable=no;" />


参考文章:

http://www.cnblogs.com/duanhuajian/archive/2012/10/31/2748644.html

http://www.cnblogs.com/loalongblogs/archive/2011/06/21/2085971.html

转载于:https://my.oschina.net/710409599/blog/323024

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值