欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

常见的移动web问题,终端触摸交互,各种bug坑如何解决

程序员文章站 2022-04-14 13:59:25
移动web最佳viewport设置 单行文本溢出 .inaline{ overflow:hidden; white-space:n ......

移动web最佳viewport设置

<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">

 

单行文本溢出

.inaline{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

 

多行文本溢出

.intwoline{
    display:-webkit-box !important;
    overflow:hidden;
    text-overflow:ellipsis;
    word-break:break-all;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

 

移动端click事件响应慢300ms 以及 tap点透的bug:

解决方案:使用fastclick库(听说最新版zepto已经解决这个bug)

 

touch事件:

安卓机只会触发一次touchstart,一次touchmove,不会触发touchend、

解决方案:在touchmove中加 event.preventdefault();

注意:会导致默认行为不触发,比如scroll,滚动失效

 

弹性滚动:

是一种缓冲反弹的效果,改善用户体验

body层滚动:

自带弹性滚动,overflow:hidden失效,gif和定时器暂停

局部滚动:

没有弹性滚动,没有滚动惯性,不流畅

解决:局部滚动开启弹性滚动

body{
    overflow:scroll;
    -webkit-overflow-scrolling:touch;
}

安卓不支持原生的弹性滚动,需要使用第三方库,如:iscroll

 

下拉刷新的实现:

顶端下拉一点距离,页面弹性滚动向下

 

上拉加载的实现:

使用scroll事件,而不是touch事件(安卓机有bug)