一.viewport的概要
移动端浏览器通常都在一个比屏幕更宽的虚拟窗口中渲染页面,这个虚拟窗口就是viewport,目的是正常展示没有做移动端适配的网页,可以让他们完整的展现给用户。我们有时用移动设备访问桌面版网页就会看到一个横向滚动条,这里可显示区域的宽度就是viewport的宽度。
常规使用,页面可以缩放就用下面的代码
<meta name="viewport" content="width=device-width, initial-scale=1" />
如果不想页面缩放就用下面的代码
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
二.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=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时,浏览器会自动选择数值最大的进行适配。如设置:
<meta name="viewport" content="width=400, initial-scale=1">
浏览器会选择数值大的进行适配,如果当前窗口ideal viewport宽度为300,initial-scale值为1,取得是width为400的值;如果当前窗口的ideal viewport为480,则取480。
事实上,width=device-width和initial-scale=1都代表应用ideal viewport,但在ipad、iphone等移动设备和IE上,横竖屏不分,默认都取竖屏的宽度,兼容性最好的写法就是
<meta name="viewport" content="width=device-width, initial-scale=1">
2.动态改变属性
a. document.write()
document.write('<meta name="viewport" content="width=device-width,initial-scale=1">')
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=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时,浏览器会自动选择数值最大的进行适配。如设置:
<meta name="viewport" content="width=400, initial-scale=1">
浏览器会选择数值大的进行适配,如果当前窗口ideal viewport宽度为300,initial-scale值为1,取得是width为400的值;如果当前窗口的ideal viewport为480,则取480。
事实上,width=device-width和initial-scale=1都代表应用ideal viewport,但在ipad、iphone等移动设备和IE上,横竖屏不分,默认都取竖屏的宽度,兼容性最好的写法就是
<meta name="viewport" content="width=device-width, initial-scale=1">
2.动态改变属性
a. document.write()
document.write('<meta name="viewport" content="width=device-width,initial-scale=1">')
b.setAttribute
var mvp = document.getElementById('testViewport');
mvp.setAttribute('content','width=480');
好了,这篇文章就介绍到这了大家可以根据自己测需要要选择。一般来说pc与移动不带自适应的就可以用不支持缩放的,如果跳转到移动端的可以缩放也没有影响。
viewport
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。