首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

控制页面的滚动:自定义下拉到刷新和溢出效果

使用该案例包括禁用移动设备上的“拉动到刷新”功能,消除过度滚动发光和橡皮筋效果,并防止页面内容在模态/叠加层下滚动 背景 滚动边界和滚动链接 滚动是与页面交互的最基本的方式之一,但是由于浏览器的诡异默认行为...你可以使用它来取消滚动链接,禁用/自定义拉动到刷新操作,禁用iOS上的橡皮圈效果(当Safari实现超滚动行为时)等等。...滚动不会传播给祖先,但会显示节点内的本地效果。例如,Android上的滚动滚动效果或iOS上的橡皮筋效果,它会在用户点击滚动边界时通知用户。...示例 - 带和不带过度滚动行为的模态:包含 ? ? (左边之前:页面内容在叠加层下滚动,右边之后:页面内容不会在叠加层下滚动) 禁用拉到刷新 关闭pull-to-refresh操作是一行CSS。...在大多数情况下,这是 body { /* 禁用“拉到刷新”功能,但允许发生滚动发光效果 Disables pull-to-refresh but allows overscroll glow effects

3.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    移动端滚动研究

    移动web滚动问题 在移动端如果使用局部滚动,意思就是我们的滚动在一个固定宽高的div内触发,将该div设置成overflow:scroll/auto;来形成div内部的滚动,这时我们监听div的onscroll...发现触发的时机区分android和ios两种情况,具体可以看下面表格: | 机型(内核) | body滚动 | 局部滚动 | | :-: | :-: | :-: | | ios | 不能实时触发 |...即可,但是使用了模拟滚动之后在正常的列表滚动时性能上不如正常滚动。...下面介绍如何去优化scroll事件的触发,避免scroll事件过度消耗资源: 防抖(Debouncing)和节流(Throttling) scroll 事件本身会触发页面的重新渲染,同时 scroll...对 body 元素应用 pointer-events: none ,禁用了包括 hover 在内的鼠标事件,从而提高滚动性能。

    3.2K20

    实现滚动时Header自动隐藏

    这样,header的显示和隐藏就实现了,接下来就是检测滚动方向。...,这是为了避免iOS设备中safari浏览器橡皮筋效果导致的误判 所以为什么 safari 橡皮筋效果也会触发scroll事件啊啊啊啊啊!!!...前者,可以通过判断y值是否为0(或小于0)来实现;而后者,正常来说,滚动到底部时,文档高度-视窗高度应该和滚动条的y值是一致的。...但是在safari里可能不一致,在safari中,当地址栏收缩时,上文的公式成立;但是当地址栏是展开状态时,两者会一个相差地址栏的高度。而地址栏是否展开我没找到判断的方法。...如果有知道如何判断是否滚动到底部的,希望能够和我分享分享 code{background: #f5f2f0;}

    2.4K30

    微信 H5 页面兼容性解决方案

    例如下图,左图是正常所期待的输入框光标,右边是ios的input光标。 ?...端微信h5页面上下滑动时卡顿、页面缺失 问题详情描述:在ios端,上下滑动页面时,如果页面高度超出了一屏,就会出现明显的卡顿,页面有部分内容显示不全的情况,例如下图,右图是正常页面,边是ios上下滑动后...出现原因分析: 笼统说微信浏览器的内核,Android上面是使用自带的WebKit内核,iOS里面由于苹果的原因,使用了自带的Safari内核,Safari对于overflow-scrolling用了原生控件来实现...touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。...但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动 5、Vue中路由使用hash模式,开发微信H5页面分享时在安卓上设置分享成功,但是ios的分享异常 问题详情描述: ios当前页面分享给好友,

    3.3K30

    【H5】344- 微信 H5 页面兼容性解决方案

    例如下图,左图是正常所期待的输入框光标,右边是ios的input光标。 ?...端微信h5页面上下滑动时卡顿、页面缺失 问题详情描述:在ios端,上下滑动页面时,如果页面高度超出了一屏,就会出现明显的卡顿,页面有部分内容显示不全的情况,例如下图,右图是正常页面,边是ios上下滑动后...出现原因分析: 笼统说微信浏览器的内核,Android上面是使用自带的WebKit内核,iOS里面由于苹果的原因,使用了自带的Safari内核,Safari对于overflow-scrolling用了原生控件来实现...touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。...但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动 5、Vue中路由使用hash模式,开发微信H5页面分享时在安卓上设置分享成功,但是ios的分享异常 问题详情描述: ios当前页面分享给好友

    2.7K30

    微信H5页面兼容性解决方案

    例如下图,左图是正常所期待的输入框光标,右边是ios的input光标。 ?...端微信h5页面上下滑动时卡顿、页面缺失 问题详情描述:在ios端,上下滑动页面时,如果页面高度超出了一屏,就会出现明显的卡顿,页面有部分内容显示不全的情况,例如下图,右图是正常页面,左边是ios上下滑动后...出现原因分析: 笼统说微信浏览器的内核,Android上面是使用自带的WebKit内核,iOS里面由于苹果的原因,使用了自带的Safari内核,Safari对于overflow-scrolling用了原生控件来实现...touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。...但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动 5、Vue中路由使用hash模式,开发微信H5页面分享时在安卓上设置分享成功,但是ios的分享异常 问题详情描述: ios当前页面分享给好友,点击进来是正常

    3.5K43

    移动web开发需要注意的二十点

    8、如何去除Android平台中对邮箱地址的识别 看过iOS webapp API的同学都知道iOS提供了一个meta标签:用于禁用iOS对页面中电话号码的自动识别。...至少Apple webapp API已经说到了:我们为了让用户在safari中正常的浏览网页,我们必须保证用户的设备处于任何一个方位时,safari都能够正常的显示网页内容(也就是自适应),所以我们禁止开发者阻止浏览器的...16、iOS中如何获取滚动条的值 桌面浏览器中想要获取滚动条的值是通过document.scrollTop和document.scrollLeft得到的,但在iOS中你会发现这两个属性是未定义的,为什么呢...因为在iOS中没有滚动条的概念,在Android中通过这两个属性可以正常获取到滚动条的值,那么在iOS中我们该如何获取滚动条的值呢?...20、如何解决iOS 4.3版本中safari对页面中5位数字的自动识别和自动添加样式 新的iOS系统也就是4.3版本,升级后对safari造成了一个bug:即使你添加了如下的meta标签,safari

    1.9K20

    移动端web开发笔记

    5、 移动端手机号码识别(IOS) 在 iOS Safari (其他浏览器和Android均不会)上会对那些看起来像是电话号码的数字处理为电话链接,比如: 7位数字,形如:1234567 带括号及加号的数字...双击缩放是指用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。...在IOS safari下,大概为300毫秒。这就是延迟的由来。...的字体,使用样式的写法为20px .css{font-size:20px} 6、ios系统中元素被触摸时产生的半透明灰色遮罩怎么去掉 ios用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置...body元素的滚动条,所以一般都借助 iScroll; Android 3.0/iOS解决了非body元素的滚动问题,但滚动条不可见,同时iOS上只能通过2个手指进行滚动; Android 4.0解决了滚动条不可见及增加了快速回弹滚动效果

    3.7K20

    移动端吸顶fixbar解决方案

    问题 position:fixed给移动端带来的问题: IOS8在页面滚动时,吸顶不连续;页面滑动时,不见吸顶,页面滚动停止后,吸顶缓慢出现 滚动到顶部之后,会出现两个一样的吸顶, 过一会才恢复正常。...iPhone 4s&5 / iOS 6&7 / Safari 下,页面底部footer输入框失去焦点时,header定位出错。当页面有滚动动作时,header定位恢复正常。...iPhone 4 / iOS 5 / Safari下,当页面发生跳转,再退回时,fixed区域消失,当内容获得焦点时,fixed区域才显示。...安卓低版本/自带浏览器,不支持fixed属性,iOS4 也是不支持 fixed 的。 三星i9100(S2) / 自带浏览器,在滚屏过程中,fixed定位异常,touchend之后恢复正常。...解决方案 分别处理各个问题: IOS 在IOS端,使用 position: sticky 这个属性,使用类似于 position: relative 和 position: absolute 的结合体

    3K30

    WEBAPP开发技巧总结

    8、如何去除Android平台中对邮箱地址的识别 看过iOS webapp API的同学都知道iOS提供了一个meta标签:用于禁用iOS对页面中电话号码的自动识别。...至少Apple webapp API已经说到了:我们为了让用户在safari中正常的浏览网页,我们必须保证用户的设备处于任何一个方位 时,safari都能够正常的显示网页内容(也就是自适应),所以我们禁止开发者阻止浏览器的...16、iOS中如何获取滚动条的值 桌面浏览器中想要获取滚动条的值是通过document.scrollTop和document.scrollLeft得到的,但在iOS中你会发现这两 个属性是未定义的,为什么呢...因为在iOS中没有滚动条的概念,在Android中通过这两个属性可以正常获取到滚动条的值,那么在iOS中我们该如何获 取滚动条的值呢?...20、如何解决iOS 4.3版本中safari对页面中5位数字的自动识别和自动添加样式 新的iOS系统也就是4.3版本,升级后对safari造成了一个bug:即使你添加了如下的meta标签,safari

    2K20

    纯滚动怎么理解_scrollview不滚动

    ); //120 120 console.log(test.clientHeight,test.clientWidth);   【2】存在滚动条时,但元素设置宽高大于等于元素内容宽高时...,但元素设置宽高小于元素内容宽高,即存在内容溢出的情况时,scroll属性大于client属性   [注意]scrollHeight属性存在兼容性问题,chrome和safari浏览器中,scrollHeight...但是由于各个浏览器表现不一样,分为以下几种情况   【1】html元素没有滚动条时,IE和firefox的client和scroll属性始终相同,且返回可视区的尺寸大小;而safari和chrome表现正常...)   【2】html元素存在滚动条时,各个浏览器都表现正常。...,具体高度由元素的高度决定   [注意]该方法只有safari支持 div id="test" style="width: 100px;height: 100px;padding: 10px;margin

    1.9K20

    📚一站式解决:H5开发全攻略,看这篇让你省时又省力

    ⭐️⭐️⭐️⭐️⭐️click 点击延迟与穿透问题 现象 在 iOS 设备上,单击事件可能会有 300ms 的延迟,因为 Safari 浏览器需要在单击 300ms 后判断用户是否进行了第二次点击以实现双击缩放操作...现象 在某些 Android 设备的原生浏览器中,使用 position: sticky 实现的元素不能正常吸顶。...上微信分享失效,图片,标题和描述均未正常显示,安卓上分享正常 原因 我们一般在 APP.vue 的 mounted 生命周期中初始化微信 SDK,此时页面的地址 hash 是#/,而首页的 hash...⭐️⭐️iOS safari 被点击元素会出现半透明灰色遮罩 解决方案 给 html 或者 body 加入以下 css 代码。...:none; input { border: 0; -webkit-appearance:none; } ⭐️⭐️⭐️对非可点击元素(div,span 等)监听 click 事件,部分 ios

    90521

    从 antDesign 来窥探移动端“滚动穿透”行为

    这样的滚动意外行为用专业术语来说,被称为**滚动链接(Scroll Chaining)**。 那么,它是如何产生的呢?或者换句话说,浏览器哪条约束规定了这样的行为?...换句话说,也就是规范并没有对于 scroll chaining 这样的意外行为进行明确规定如何实现。...如果在上述的范围内,祖先元素中存在可滚动的元素: 首先我们需要区域内的元素可以正常滚动。...完成上述的判断后,如果 status === 11 表示当前元素可滚动并且滚动条不在顶部也不在底部(即在中间),表示 touchMove 事件不应该阻止元素滚动(当前滚动为正常现象) // 2...// 3.5 当 status 为 01 时(对应 3.2 滚动条在顶部),此时当用户从下往上拖动时,需要阻止意外的滚动行为发生。否则,则不需要阻止正常滚动。

    58720

    吸顶效果解决方案

    ,效果好像还不错,但很快会发现滚动到临界位置stickyT的时候,页面抖了一下,向上缩了一截。...在Android 4.0+确实可以,但IOS几乎全家都行不通 Android scroll Android 4.0的scroll事件不那么实时(自带节流的感觉),但Android 4.1之后scroll...如果scroll本身自带节流,就很容易错过临界点判断,导致吸顶元素“跳一下”,体验不平滑 IOS scroll IOS 8-的Safari,包括UIWebView,对scroll事件做了很大限制: 手指划动屏幕...IOS 8+的Safari和WKWebView能够疯狂触发scroll,无论手指在不在屏幕上,无论是不是惯性滚动期间。...但IOS 8+的UIWebView,scroll限制还在 如果要支持IOS 8-设备以及任意IOS版本的UIWebView,此路不通,忘掉scroll sticky 虽然scroll方案行不通,但IOS

    3.6K10

    记录工作中遇到的各种问题(Bug,总结,记录)

    12. iOS高版本中,在微信内访问网页,音频背景音乐无法自动播放 其实在高版本浏览器中,基于安全措施,已经不允许自动播放音频了,但在微信内是可以的 微信安卓环境下正常,但在高版本的iOS下就失效了,解决办法是在微信的...Safari下new Date('yyyy-MM-dd HH:mm:ss') 会返回 Invalid Date ,在Chrome下正常  这种错误多发生在移动端页面,安卓机子下正常,iPhone下时间的转换就出问题了...与Mac的safari进行远程调试时,MAC的iOS系统不能比iPhone的低,否则无法连接上,即“开发”菜单栏下的看不到连接的iPhone信息 58. iPhone或iPad的safari浏览器不支持...iPhone或iPad的safari浏览器通过嵌入pdf来预览时,只能看到第一页,无法滚动翻页查看更多 这个问题是ios自家的bug了,所以为了解决,只能引入第三方支持(不再使用浏览器自身支持的...(有滚动条),点击select,input, textarea等相关项时,会自动滚动到页面顶部 在chrome60中还是正常的,一升级就出现问题了 目前还不知道为何,可能是chrome61的bug?

    18.2K12

    移动web开发问题和优化小结

    如何让我们所开发的手机页面能有更好的交互体验,就是这篇文章的主旨:移动web开发问题和优化小结。..." /> 禁止android上自动识别邮箱 下面两个是针对ios上的safari上地址栏和顶端样式条的...PS:过度压缩图片大小影响图片显示效果,可能会使得图片变得模糊,一般来说,品质在60左右就差不多了!...7.快速回弹滚动 在ios上,如果存在局部滚动,就要加这个属性了!如果不加,滚动会很慢,看起来也会有一卡一卡的感觉。...让弹窗的div参考body定位! 8.谨慎使用fixed ios下fixed元素容易定位出错,软键盘弹出时,影响fixed元素定位,会发生元素错位(滚动一下又恢复),有时候会出现闪屏的效果。

    2.1K21

    移动端爬坑记 --- (1)布局与样式上的奇葩偶遇

    ', 'chrome >= 34', 'safari >= 7', 'opera >= 23', 'ios >= 7', 'android >= 2.3', 'bb >= 10'...若是实在不信邪,滚动的时候,微信端这些你就会感受到花儿为什么这样红了。。。...IOS滚动窗滑动到底部还能弹窗拖拉的奇葩修复 这个方案是通过计算离底部多远加状态来阻止touch事件 // 防止内容区域滚到底后引起页面整体的滚动 var content = document.querySelector...border: 0; -webkit-appearance: none; } 旋转屏幕时,字体大小调整的问题 html, body, form, fieldset, p, div,...空间如何呈现:保留3D / -webkit-transform-style: preserve-3d; / 设置进行转换的元素的背面在面对用户时是否可见:隐藏 / -webkit-backface-visibility

    12710
    领券