移动Web开发——视口的概念及设置

视口(viewport)是用来约束网站中最顶级块元素<html> 的,即它决定了<html>
的大小
在PC设备上viewport的大小取决于浏览器窗口的大小,以CSS像素做为度量单位。
viewport是由苹果公司为了解决移动设备浏览器渲染页面而提出的解决方案,后来被其它移动设备厂商采纳,其使用参数如下:

  • 通过设置属性content="“实现,中间以逗号分隔
  • 例如<meta name="viewport' content="width=device-width">
  • width 设置layout viewport 宽度,其取值可为数值或者device-width。

1.获取PC端视口的大小

    var clientWidth = document.documentElement.clientWidth;
    var clientHeight = document.documentElement.clientHeight;

    console.log('PC设备Viewport的宽度为:' + clientWidth);
    console.log('PC设备Viewport的高度为:' + clientHeight);

2.移动端视口

	var clientWidth, clientHeight;
		var width = $('.width'),
				height = $('.height');
		// 用来获取viewport(移动端默认的视口设置)
		function getSize() {
			clientWidth = window.screen.width;
			clientHeight = window.screen.height;

			width.text('PC设备Viewport的宽度为:' + clientWidth);
			height.text('PC设备Viewport的高度为:' + clientHeight);
		}

		// 调用
		getSize();
		//移动端理想的视口设置
		var screenWidth = window.screen.width;
		var screenHeight = window.screen.height;

		console.log('ideal viewport 的宽度为:' + screenWidth);
		console.log('ideal viewport 的高度为:' + screenHeight);

		console.log('设备像素比例为:' + window.devicePixelRatio);
		

3.移动端viewport的设置

 <meta charset="UTF-8">
    <!--对viewport的设置的meta建议写在已有的meta标签(<meta charset="UTF-8">)之后-->
    <!--name="viewport":说明当前meta标签是用来设置viewport的属性的,这个属性只有在移动端才会有效-->
    <!--content="":进行viewport的设置
    width:设置viewport的宽度  device-width:获取当前设备的宽度
    initial-scale=1:设置初始缩放比例  当我们设置width=device-width,也达到了initial-scale=1的效果,得知其实 initial-scale = ideal viewport / layout viewport  意味着,如果initial-scale设置为1,相当于设置了两个viewport的宽度一致
    maximum-scale:设置最大的缩放比例
    minimum-scale:设置默认状态下最小的缩放比例-->
    <!--<meta name="viewport" content="width=device-width">-->
    <!--<meta name="viewport" content="initial-scale=1
    user-scalable:设置是否允许用户进行缩放yes/no">-->

    <!--为了达到兼容:-->
    <!--<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,user-scalable=no">-->
    <!--meta:vp+tab-->
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值