-webkit-overflow-scrolling 与滚动回弹效果.

参考来源:https://developer.mozilla.org/zh-CN/docs/Web/CSS/-webkit-overflow-scrolling

     https://www.w3cways.com/1988.html

-webkit-overflow-scrolling 用来控制元素在移动设备上是否使用滚动回弹效果。

事故の起因

要做有很多列表的页面,然后并不适用iscroll等滚动的插件,做完也没按之后,滑动列表卡顿卡顿的,遭啦,这样子的滑动太让人不舒服。

网上搜索了一下,发现了一个新属性,-webkit-overflow-scroll,专治“该病”。我手快的设置body设置上-webkit-overflow-scrolling: touch,哟西,页面滚动起来舒服多了,不再是是卡顿卡顿的(测试机iPhone6s)。上MDN搜索了一下该属性的兼容性,有点失望,目前只是iOS系统得支持了。不过也不影响,至少加上这个体验可以让iOS用户体验更棒一点。

取值

-webkit-overflow-scrolling: auto  |  touch;

auto: 普通滚动,当手指从触摸屏上移开,滚动立即停止

touch:滚动回弹效果,当手指从触摸屏上移开,内容会保持一段时间的滚动效果,继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。

推荐写法

下面是兼容安卓和iOS的写法

over-flow: auto;     /* winphone8和android4+ */
-webkit-overflow-scrolling: touch;    /* ios5+ */

适用范围

我一般在写页面什么时候用到这个属性的情况呢。

1、一般就是页面要滚动,然后不使用一些滚动的插件

2、弹窗内容过长,此时需要滚动显示,那么此时加上这个属性,滚动起来体验就大大提升了。

使用过程遇到问题

1、我在非body元素,添加这个属性,竟然没有效果。如果添加上overflow-y: scroll,就可以优雅的滚动起来了。

2、当一个元素设置过position: absolute|relative,后再增加-webkit-overflow-scrolling: touch;属性后,会发现,滑动几次后就滚动区域会卡住,不能在滑动,这时给元素增加个z-index值就可以了。

解决方法:

给元素增加个z-index值

webkit-overflow-scrolling: touch;
position:absolute;
z-index:1;
时间: 2024-10-07 21:56:22

-webkit-overflow-scrolling 与滚动回弹效果.的相关文章

-webkit-overflow-scrolling : touch 快速滚动 回弹 效果

现在很多for Mobile的HTML5网页内都有快速滚动和回弹的效果,看上去和原生app的效率都有得一拼. 要实现这个效果很简单,只需要在元素上加一行css代码即可: -webkit-overflow-scrolling : touch; 实际上,Safari真的用了原生控件来实现,对于有-webkit-overflow-scrolling的网页,会创建一个UIScrollView,提供子layer给渲染模块使用.(具体已经超出web前端的范畴此处不描述) 我们只需要知道CSS的属性-webk

css3属性:美化表单、点击元素产生的背景与边框怎么去掉,滚动回弹效果

Android仿IOS回弹效果 ScrollView回弹 总结

Android仿IOS回弹效果  ScrollView回弹 总结 应项目中的需求  需要仿IOS 下拉回弹的效果 , 我在网上搜了很多 大多数都是拿scrollview 改吧改吧 试了一些  发现总有点小问题 下面的代码是我对大家发布的做了点小修改   觉得没太大问题 package com.example.myscrollview; import android.content.Context; import android.graphics.Rect; import android.util

js整频滚动展示效果(函数节流鼠标滚轮事件)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-T

ScrollView的阻尼回弹效果实现(仿qq空间)

玩过新浪微博,qq空间等手机客户端的童鞋,都应该清楚,在主界面向下滑动时,会有一个阻尼回弹效果,看起来挺不错,接下来我们就来实现一下这种效果,下拉后回弹刷新界面,先看效果图: 这个是编辑器里面的界面效果,不言自明: 运行效果: 正常界面下: 下拉: 下拉结束: 实现代码: 主要部分就是重写的ScrollView: package com.byl.scollower; import android.content.Context; import android.graphics.Rect; imp

完美解决safari、微信浏览器下拉回弹效果。

完美解决safari.微信浏览器下拉回弹效果,只保留局部回弹效果. CSS代码 .box{ overflow: auto; -webkit-overflow-scrolling: touch; } HTML代码 <body class="box"> <div class="scroll" style="height:1500px"> </div> </body> JS代码 var overscrol

利用递归 实现UIScrollView无限滚动的效果

项目需求 利用递归 实现UIScrollView无限滚动的效果. 上机试题, #import "ViewController.h" @interface ViewController (){ UIScrollView *mainScroll; BOOL isFinish; int x; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; x=0; isFinish = YES;

jQuery实现固定顶部 定位滚动导航效果代码

jQuery实现固定顶部 定位滚动导航效果代码,很常见的效果,非常实用:滚动滚动条时,导航固定顶部,并且滚动到对应的板块时,当前导航高亮显示:点击导航文字时平滑跳转到对应的板块. $(function(){          var subNav_active = $(".adv_active");         var subNav_scroll = function(target){             subNav_active.removeClass   ("a

OCiOS动效设计:UITableView 实现滚动视差效果

前言 最近在使用'悦跑圈'这个App,其'跑鞋展厅'功能的滚动视差效果深深地吸引了我,在网上搜罗了大量的资料,如下,我将仿照该效果简单介绍实现方法. 效果演示 细节实现 OffsetImageCell.m - (void)cellOffset { // 1.获取cell在屏幕中的rect CGRect centerToWindow = [self convertRect:self.bounds toView:self.window]; // 2.获取cell中心点y轴坐标 CGFloat cen