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

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

首先要搞明白两个概念

1、全局滑动:

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

2、局部滚动

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

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

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

ios:全局滚动:默认支持

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

Ios的解决办法是

body{-webkit-overflow-scrolling: touch;

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

overflow: auto;

}

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

安卓下:

二、滚动出界

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

ios下:

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

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

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

touchmove(event){

event.stopPropagation();

event.nativeEvent.stopImmediatePropagation();

}

b、全局滚动:

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

安卓的局部滚动很蛋疼

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

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

流畅滚动的几条方法

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

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

  1. html选择本地文件视频并播放器,使HTML5视频播放器播放不同的文件(Make a HTML5 video player play a different file)...

    使HTML5视频播放器播放不同的文件(Make a HTML5 video player play a different file) 在播放视频时,我无法让HTML5播放器播放不同的视频,我尝试更改 ...

  2. Html5结合flash在所有主流播放器播放视频的方法

    转自http://www.aimks.com/html5-combined-with-flash-method-in-all-mainstream-video.html Html5结合flash在所有 ...

  3. html使用vcastr3.swf播放器播放flv视频

    一.特点: 使用as3.0重新写了播放器 播放器大小缩小,在20+k左右 可以通过xml对播放器设置 可以播放多个影片,并且有影片列表 可以设置循环播放,自动播放,是否直接开始下载,控制栏的颜色和模式 ...

  4. Android多媒体学习五:调用Android自带的播放器播放Audio

    Android有其自带的播放器,我们可以使用隐式Intent来调用它:通过传入一个Action为ACTION_VIEW同时,指定Data为所要播放的Audio的Uri对象,并指定格式信息,则我们就可以 ...

  5. 使用 阿里云 播放器播放 .flv 和 hls(.m3u8) 格式的视频流

    一.使用 阿里云 播放器播放 .flv 和 hls(.m3u8) 格式的视频流 官方教程:https://help.aliyun.com/document_detail/125570.htm?spm= ...

  6. android集成EasyPlayer播放器播放实时流媒体视屏

    android集成EasyPlayer播放器播放实时流媒体视屏 最近公司项目需要实现一个rtsp实时流媒体视频的播放,在移动端尝试了多个第三方能播放rtsp流实时视频的软件后发现EasyPlayer的 ...

  7. Android 11.0 当安装多个播放器时,设置默认播放器播放歌曲

    目录 1.概述 2.当安装多个播放器时,设置默认播放器播放歌曲的核心类

  8. Android 10.0 当安装多个播放器时,设置默认播放器播放歌曲

    目录 1.概述 2.安装多个播放器时,设置默认播放器播放歌曲的核心代码

  9. react项目中使用阿里播放器播放视频,包括切换视频,播放定时跳转(兼容ios和andro),播放完成

    react项目中使用阿里播放器播放视频,包括切换视频,播放定时跳转(兼容ios和andro),播放完成 1.index.html引入阿里播放器的cdn <link rel="style ...

最新文章

  1. appium-chromedriver@3.0.1 npm ERR! code ELIFECYCLE npm ERR! errno 1
  2. Python 使用 Flask框架记录
  3. 支持向量机svm的完整实现并配有解析
  4. apache tomcat 整合
  5. chrome添加来自其他网站的扩展程序
  6. php中文网企业网站,闻名 PHP企业网站系统 weenCompany v5.3.0 简体中文 UTF8
  7. php文件包含绕过,文件包含漏洞(绕过姿势) | nmask's Blog
  8. Linux 系统下命令 unrar 的英文版使用说明
  9. linux算法平台,Linux实时调度算法与测试平台的研究与实现
  10. 【转】细说.NET中的多线程 (五 使用信号量进行同步)
  11. python全栈要学什么_python全栈要学什么 python全栈学习路线
  12. 中国剧本推理市场洞察2021
  13. Linux 与 Windows 计算文件夹大小
  14. oracle11g | 行转列
  15. 软考论文-高项-进度管理、风险管理
  16. 华为鸿蒙专属文件后缀,华为鸿蒙——上传第三方APP【原理公布】
  17. 软件开发的版本控制管理
  18. 大数据Hadoop技术的发展历史与未来前景
  19. 解剖热敏打印原理—热敏打印机真的没墨水了吗?
  20. JavaScript打飞机小游戏

热门文章

  1. 插值法补齐缺失数据_一种挽救你缺失数据的好方法——多重补插
  2. 2017年小老虎软考辅导视频访问量备忘录
  3. 37-工欲善其事必先利其器:学会使用各种工具
  4. 无线 WiFi 流量劫持
  5. koa2.x--art-template
  6. 马士兵网络安全大师班
  7. 基于51的单片机GPS定位系统设计
  8. mysql中vlookup函数_Vlookup + MySql 数据高效迁移
  9. Python递归实现①把嵌套列表压平为一层列表②返回嵌套列表中某元素出现的个数③返回第n个斐波那契数
  10. Java 8 新特性之 Stream 流(五)映射