码迷,mamicode.com
首页 > 其他好文 > 详细

mobile_竖向滑屏_rem适配

时间:2018-11-24 14:39:07      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:select   开启   document   面试题   绑定   mobile   color   function   code   

竖向滑屏

元素最终事件 = 元素初始位置 + 手指滑动距离

  • 移动端,"手指按下","手指移动" 两个事件即可(且不需要嵌套),有需要时才使用 "手指离开事件"

 

  • 滑屏相关事件
  • 给父元素绑定,是为了全屏滑动
  • 开启定位
  • 上滑,下滑范围限定

 

em 与 rem

em  参照本身元素的 font-size

rem 参照 根元素 的 font-size

 

rem 适配(同一元素,在不同设置上,效果一样)

  • 原理

页面中的元素,统一 单位 rem

根元素字体大小 设置成 整个屏幕的宽(1 rem = 375px)

  • // 适配 (手写 面试题)
                (function(){
                    /* 1. 创建 style 标签 */
                    var styleNode = document.createElement("style");
    
                    /* 2. 给 style 标签添加内容 (屏幕分份, 大多数公司 16 份) */
                    styleNode.innerHTML = "html {"+
                                               "font-size:"+width/16+"px !important"+
                                          "}";    /* IPhone 6 的 font-size: 23.4375px */
    
                    /* 3. 把 style 标签追加到 head 标签里 */
                    document.head.appendChild(styleNode);
                }());

 

viewport 适配(让 width=320px 的图片,宽度上填满 width 为 375px 的屏)

原理: 让 布局视口 等于 设计图纸的 width

方案1(width=320px 安卓不支持)

方案2(放大操作 initial-scale=375/320)

  • <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
    </head>
    
    <script type="text/javascript">
        var clientWidth = document.documentElement.clientWidth;
    
        var targetWidth = 320;
    
        var scale = clientWidth/targetWidth;
    
        var metaNode = 
        document.querySelector("meta[name=‘viewport‘]");
    
        metaNode.content = "initial-scale="+scale+
                           ", user-scalable=no";
    </script>

2

2

2

2

2

mobile_竖向滑屏_rem适配

标签:select   开启   document   面试题   绑定   mobile   color   function   code   

原文地址:https://www.cnblogs.com/tianxiaxuange/p/10011569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!