美文网首页
移动web相关(一)

移动web相关(一)

作者: Supor | 来源:发表于2016-12-13 20:23 被阅读0次
    <!--禁止自动对符合电话格式的文本的格式化显示-->
    <meta name="format-detection" content="telephone=no">
    <!--禁止自动对符合地址格式的文本的格式化显示-->
    <meta name="format-detection" content="address=no">
    <!--视窗宽度指定为设备支持宽度,禁止缩放-->
    <meta name="viewport" content="width="device-width",initial-scale=1,user-scalable="no">
    

    性能优化 --- 更快

    压缩代码、文件合并、后台直出等方法切实改变响应速度

    交互优化 --- 更好用

    通过替换方案改变用户感知到的响应速度 结合移动设备特点提供更有针对性更好的体验


    tap事件:不是原生事件而是由touchstart\touchmove\touchend结合的混合事件,目的是解决click事件300ms延迟。
    点击态:给用户明确的点击反馈,提升用户体验

    • 方案一:使用伪类:active
      缺点:滚动的时候也会触发样式
    • 方案二:
    //点击事件带点击态
    $el.on('tap',function(e){
        var $target = $(e.target);
        $target.addClass('active');
        setTimeout(function(){
            $target.removeClass('active');
        },150);
    });
    

    滚动

    全局滚动:滚动条在body节点或更顶层
    局部滚动:滚动条在body下的某一个DOM节点上

    • part1:实现弹性滚动效果(iOS和Android的chrome支持)
    /*建议:将属性挂在body上可以避免很多奇怪的bug*/
    body{-webkit-overflow-scrolling:touch;}
    /*局部滚动的DOM节点*/
    .scroll-el{overflow:auto;}
    
    • part2:滚动出界情况(iOS)
      全局滚动:滚动到页面顶部(或底部)时继续向下(向上)滑动,就会出现
      局部滚动:滚动到页面顶部(或底部)时,再继续向下(向上)滑动时,就会出现;滑动底部固定区域【解决方法:SrollFix插件,其原理是滚动时判断是否是从顶部(底部)开始滑动,若是则增加(减去)一个像素;页面的固定区域禁止touchmove默认事件】
    • Android建议只使用全局滚动,因为局部滚动会出现蛋疼的滚动条bug
      流畅滚动的总结
      1.body上加上 -webkit-overflow-scrolling:touch
      2.iOS尽量使用局部滚动
      3.iOS引进ScrollFix避免出界
      4.Android下尽量使用全局滚动
      --1)尽量不用overflow:auto
      --2)使用min-height:100%代替height:100%
      5.iOS下带有滚动条且position:absolute的节点不要设置背景色

    定制软键盘样式

    • 配置input节点的type属性
      输入纯数字可以用type="tel"---->数字键盘
      设置type="search"
      用一个form表单包围起来
      在onsubmit事件里阻止默认行为---->带有搜索键的输入键盘
    • pattern属性
      现阶段只支持pattern="[0-9]*"---->纯数字键盘

    定制键盘行为(iOS基本支持Android不同情况)

    针对的问题:输入英文用户名首字母自动大写的问题
    解决:autocapitalize="off"//关闭首字母大写
    自动纠错:autocorrect="on"/autocorrect="off"

    相关文章

      网友评论

          本文标题:移动web相关(一)

          本文链接:https://www.haomeiwen.com/subject/sfebmttx.html