html5播放器播放尺寸出界了,移动端弹性滑动以及滑动出界解决方案

移动端弹性滑动以及滑动出界解决方案

移动端开发经常会遇到两个问题,滑动不灵敏,滑动到哪里就到哪里,这就是常说的:弹性滑动。在一个就是移动开发在真机中经常会遇到滑动出界从而能看见浏览器的背景了,这个在微信是非常常见的。先就这几个问题做一个总结:

首先要搞明白两个概念

1、全局滑动:

滚动条在body节点或者更高层。

2、局部滚动

滚动条在body节点下边的某一个dom节点上。例如:页面有头部和底部固定的。

弄清楚这两个概念还要了解在安卓和ios上这几个问题的解决都是不一样的。

一、首先说滑动不流畅这个问题:

ios:全局滚动:默认支持

局部滚动:默认没有滚动条,兵并且滑动会比较干涩。

Ios的解决办法是

body{-webkit-overflow-scrolling: touch;

}/*局部滚动的dom节点*/dom{

overflow: auto;

}

建议将属性挂在body上,可以便秘很多奇怪的bug。

安卓下:

17710f86e3c21b5bc94e71ab9229e5d7.png

二、滚动出界

首先说几种出界滚动的情况

2f2a71555cd16de9dd7f9b97af263a2d.png

ios下:

a、局部滚动中的解决方案为:

8e48094c78eaa14999c96179c784150c.png

上边的代码是这个组件的核心思想,也就是在滚动的开始的时候判断:如果是顶部的话就让页面向下滚动1px,如果是页面的底部的话就让向上滚动1px。

局部滚动中一定会有固定区域例如底部或者顶部,他们俩有时候滑动也回出现出界,解决方案为:页面的固定区域禁止touchmove默认事件。

touchmove(event){

event.stopPropagation();

event.nativeEvent.stopImmediatePropagation();

}

b、全局滚动:

暂时还没有解决方案,所以实在想避免这个的话,可以将全局滚动改变为局部滚动的布局。这个实现起来方法很多。

604c82ba46d15a8ec3eedad34af36437.png

安卓的局部滚动很蛋疼

安卓的局部滚动会导致滚动条显示不流畅,且滚动不流畅。所以建议安卓下只是用全局滚动。

安卓下局部滚动改变为全局滚动的思路为:

813b7121d8cb8c7c24b79c673d712a8e.png

流畅滚动的几条方法

1、body上加上

-webkit-overflow-scrolling: touch;

2、ios下尽量使用局部滚动。

3、ios下引入scrollfix避免出界。

4、安卓下尽量使用全局滚动。

a、尽量不用overflow: auto;

b、使用 Min-height: 100%; 代替 height: 100%;

5、ios下带有滚动条且position: absolute;的节点不要设置背景色。

原文:http://www.cnblogs.com/haonanZhang/p/7211013.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值