html:详解viewport

今天分享下”html:详解viewport“这篇文章,文中根据实例编码详细介绍,或许对大家的编程之路有着一定的参考空间与使用价值,需要的朋友接下来跟着云南仟龙Mark一起学习一下吧。

一.viewport的概述

​手机端电脑浏览器一般都是在一个比显示屏更宽的虚拟对话框中3D渲染页面,这一虚拟对话框便是viewport,目地是一切正常展现沒有做移动端适配的网页,能够让她们详细的呈现给客户。大家有时候用移动设备浏览pc端网页就会见到一个横着下拉列表,这儿可表明范围的宽度便是viewport的宽度。

基本应用,页面能够放缩就用接下来的编码​<meta name="viewport" content="width=device-width, initial-scale=1" />

如果不想页面缩放就用下面的代码

二.css中的像素和设备像素的区别

在桌面网页开发时,css中的1px就是设备上的1px;然而css中的1px仅仅是一个抽象的值,不代表实际像素为多少;而在移动设备中,不同设备的像素密度是不一样的,css中的1px可能并不等于真实设备的一个像素值。用户缩放也会改变css中的1px代表多少设备像素。这个比例就是devicePixelRatio

物理像素/独立像素 = devicePixelRatio

我们可以在浏览器中进行缩放,在控制台中打印window.devicePixelRatio来查看devicePixelRatio的大小。其中的独立像素可以理解为css中的px。

三.视口基础

代码:

以下为viewport的几个属性,这些属性可以混合来使用,多个属性同时使用要用逗号隔开。这里我们展开一个概念,叫做ideal viewport,指的是理想情况下的viewport,不需要用户缩放和横向滚动条就能正常查看网页的所有内容,并且能够看清所有文字,无论这个文字在css中定义为多小,显示出来时可以看清的。

属性

描述

width

控制视口的宽度,可以指定数字;或设置device-width来指定

height

控制视口的高度,这个属性不太重要,很少使用

initial-scale

控制页面最初加载时的在在idealviewport下缩放等级,通常设为1,可以是小数

maximum-scale

允许用户的最大缩放值,为一个数字,可以带小数

minimum-scale

允许用户的最小缩放值,为一个数字,可以带小数

user-scalable

是否允许用户进行缩放,值为”no”或”yes”, no 代表不允许,yes代表允许

四.viewport进阶

1.width和initial-scale

当设置了width和initial-scale时,浏览器会自动选择数值最大的进行适配。如设置:

浏览器会选择数值大的进行适配,如果当前窗口ideal viewport宽度为300,initial-scale值为1,取得是width为400的值;如果当前窗口的ideal viewport为480,则取480。

事实上,width=device-width和initial-scale=1都代表应用ideal viewport,但在ipad、iphone等移动设备和IE上,横竖屏不分,默认都取竖屏的宽度,兼容性最好的写法就是

2.动态改变属性

a. document.write()

document.write(’’)

b.setAttribute

var mvp = document.getElementById(‘testViewport’);

mvp.setAttribute(‘content’,‘width=480’);

viewport概念

移动端浏览器通常都在一个比屏幕更宽的虚拟窗口中渲染页面,这个虚拟窗口就是viewport,目的是正常展示没有做移动端适配的网页,可以让他们完整的展现给用户。我们有时用移动设备访问桌面版网页就会看到一个横向滚动条,这里可显示区域的宽度就是viewport的宽度。

css中的像素和设备像素的区别

在桌面网页开发时,css中的1px就是设备上的1px;然而css中的1px仅仅是一个抽象的值,不代表实际像素为多少;而在移动设备中,不同设备的像素密度是不一样的,css中的1px可能并不等于真实设备的一个像素值。用户缩放也会改变css中的1px代表多少设备像素。这个比例就是devicePixelRatio

物理像素/独立像素 = devicePixelRatio

我们可以在浏览器中进行缩放,在控制台中打印window.devicePixelRatio来查看devicePixelRatio的大小。其中的独立像素可以理解为css中的px。

视口基础

一个典型的针对移动端优化的站点包含类似下面的内容:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale= http://www.qlyl1688.com/ 1">

 

以下为viewport的几个属性,这些属性可以混合来使用,多个属性同时使用要用逗号隔开。这里我们展开一个概念,叫做ideal viewport,指的是理想情况下的viewport,不需要用户缩放和横向滚动条就能正常查看网页的所有内容,并且能够看清所有文字,无论这个文字在css中定义为多小,显示出来时可以看清的。

属性

描述

width

控制视口的宽度,可以指定数字;或设置device-width来指定

height

控制视口的高度,这个属性不太重要,很少使用

initial-scale

控制页面最初加载时的在在idealviewport下缩放等级,通常设为1,可以是小数

maximum-scale

允许用户的最大缩放值,为一个数字,可以带小数

minimum-scale

允许用户的最小缩放值,为一个数字,可以带小数

user-scalable

是否允许用户进行缩放,值为”no”或”yes”, no 代表不允许,yes代表允许

viewport进阶

1.width和initial-scale

当设置了width和initial-scale时,浏览器会自动选择数值最大的进行适配。如设置:

浏览器会选择数值大的进行适配,如果当前窗口ideal viewport宽度为300,initial-scale值为1,取得是width为400的值;如果当前窗口的ideal viewport为480,则取480。

事实上,width=device-width和initial-scale=1都代表应用ideal viewport,但在ipad、iphone等移动设备和IE上,横竖屏不分,默认都取竖屏的宽度,兼容性最好的写法就是

2.动态改变属性

a. document.write()

document.write(’’)

b.setAttribute

var mvp = document.getElementById(‘testViewport’);

mvp.setAttribute(‘content’,‘width=480’);

好了,这篇文章就介绍到这了大家可以根据自己测需要要选择。一般来说pc与移动不带自适应的就可以用不支持缩放的,如果跳转到移动端的可以缩放也没有影响。今天的文章就分享到这啦,内容转自脚本之家,下篇文章再见!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值