首页 > web前端 > js教程 > 正文

js多点触控的问题

小云云
发布: 2017-12-08 16:28:47
原创
2576人浏览过

移动端的布局不同于pc端,首先我们要知道在移动端中,css中的1px并不等于物理上的1px,因为手机屏幕的分辨率已经越来越高,高像素但是屏幕尺寸却没有发生太大变化,那就意味着一个物理像素点实际上塞入了好几个像素。

在移动端浏览器中以及某些桌面浏览器中,window对象有一个devicepixelratio属性,它的官方的定义为:设备物理像素和设备独立像素的比例,也就是 devicepixelratio = 物理像素 / 独立像素。css中的px就可以看做是设备的独立像素,所以通过devicepixelratio,我们可以知道该设备上一个css像素代表多少个物理像素。例如,在retina屏的iphone上,devicepixelratio的值为2,也就是说1个css像素相当于2个物理像素。但是要注意的是,devicepixelratio在不同的浏览器中还存在些许的兼容性问题,所以我们现在还并不能完全信赖这个东西。

还有一个因素也会引起css中px的变化,那就是用户缩放。例如,当用户把页面放大一倍,那么css中1px所代表的物理像素也会增加一倍;反之把页面缩小一倍,css中1px所代表的物理像素也会减少一倍。

造点AI
造点AI

夸克 · 造点AI

造点AI 325
查看详情 造点AI

所以在做移动端开发时,为了使移动端的页面在不同的手机上同样的大小来显示,我们可以将页面的宽度固定,然后获取设备的宽度,可以得到我们之前设定的宽度与设备宽度的比例,再使用HTML5新增的viewport来对页面进行缩放,并固定不允许用户再重新缩放。

在看viewport的具体用法之前,我们先搞清楚几个概念。

  1. layout viewport:

  • layout viewport 是网页的所有内容,他可以全部或者部分展示给用户。

  • visual viewport

    • visual viewport 就是当前显示给用户内容的窗口,你可以拖动或者放大缩小网页。

    不太懂的看下图就知道了:

    layout viewport

    visual viewport



    viewport具体用法为:
    使用该meta标签时,在content中写属性,用逗号隔开

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" />
    登录后复制

      属性名 备注
      width 设置layout viewport  的宽度,为一个正整数,使用字符串”width-device”表示设备宽度
      initial-scale 设置页面的初始缩放值,为一个数字,可以带小数
      minimum-scale 允许用户的最小缩放值,为一个数字,可以带小数
      maximum-scale 允许用户的最大缩放值,为一个数字,可以带小数
      height 设置layout viewport  的高度,这个属性对我们并不重要,很少使用
      user-scalable 是否允许用户进行缩放,值为”no”或”yes”, no 代表不允许,yes代表允许

      转载:

      http://blog.csdn.net/qq_16339527/article/details/52996316

      移动端的布局不同于pc端,首先我们要知道在移动端中,css中的1px并不等于物理上的1px,因为手机屏幕的分辨率已经越来越高,高像素但是屏幕尺寸却没有发生太大变化,那就意味着一个物理像素点实际上塞入了好几个像素。

      在移动端浏览器中以及某些桌面浏览器中,window对象有一个devicepixelratio属性,它的官方的定义为:设备物理像素和设备独立像素的比例,也就是 devicepixelratio = 物理像素 / 独立像素。css中的px就可以看做是设备的独立像素,所以通过devicepixelratio,我们可以知道该设备上一个css像素代表多少个物理像素。例如,在retina屏的iphone上,devicepixelratio的值为2,也就是说1个css像素相当于2个物理像素。但是要注意的是,devicepixelratio在不同的浏览器中还存在些许的兼容性问题,所以我们现在还并不能完全信赖这个东西。

      还有一个因素也会引起css中px的变化,那就是用户缩放。例如,当用户把页面放大一倍,那么css中1px所代表的物理像素也会增加一倍;反之把页面缩小一倍,css中1px所代表的物理像素也会减少一倍。

      所以在做移动端开发时,为了使移动端的页面在不同的手机上同样的大小来显示,我们可以将页面的宽度固定,然后获取设备的宽度,可以得到我们之前设定的宽度与设备宽度的比例,再使用HTML5新增的viewport来对页面进行缩放,并固定不允许用户再重新缩放。

      在看viewport的具体用法之前,我们先搞清楚几个概念。

      1. layout viewport:

      • layout viewport 是网页的所有内容,他可以全部或者部分展示给用户。

    • visual viewport

      • visual viewport 就是当前显示给用户内容的窗口,你可以拖动或者放大缩小网页。

      不太懂的看下图就知道了:

      layout viewport

      visual viewport



      viewport具体用法为:
      使用该meta标签时,在content中写属性,用逗号隔开

      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" />
      登录后复制

        属性名 备注
        width 设置layout viewport  的宽度,为一个正整数,使用字符串”width-device”表示设备宽度
        initial-scale 设置页面的初始缩放值,为一个数字,可以带小数
        minimum-scale 允许用户的最小缩放值,为一个数字,可以带小数
        maximum-scale 允许用户的最大缩放值,为一个数字,可以带小数
        height 设置layout viewport  的高度,这个属性对我们并不重要,很少使用
        user-scalable 是否允许用户进行缩放,值为”no”或”yes”, no 代表不允许,yes代表允许

        相关推荐:

        小强的HTML5移动开发之路(52)——jquerymobile中的触控交互

        微信小程序 触控事件详细介绍

        jquery mobile的触控点击事件会多次触发问题的解决方法_jquery

        以上就是js多点触控的问题的详细内容,更多请关注php中文网其它相关文章!

        相关标签:
        最佳 Windows 性能的顶级免费优化软件
        最佳 Windows 性能的顶级免费优化软件

        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

        下载
        来源:php中文网
        本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
        作者最新文章
        最新问题
        开源免费商场系统广告
        热门教程
        更多>
        最新下载
        更多>
        网站特效
        网站源码
        网站素材
        前端模板
        关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
        php中文网:公益在线php培训,帮助PHP学习者快速成长!
        关注服务号 技术交流群
        PHP中文网订阅号
        每天精选资源文章推送
        PHP中文网APP
        随时随地碎片化学习

        Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号