CSS Scroll Snap是个非常好用的特性,可以让滚动停止的时候,无需任何JS代码,自动平滑定位到指定元素的指定位置。但实际开发的时候,发现很多场景还需要知道滚动什么时候停止,以及到底滚动到哪个元素上,浏览器目前还没有原生的方法支持,需要我们使用JS进行辅助处理……
文章关键字 ‘滚动’
CSS scroll-snap滚动事件停止及元素位置检测
2019年04月20日,星期六使用document.scrollingElement控制窗体滚动高度
2019年02月22日,星期五介绍一个更加兼容、更加标准的设置窗体滚动高度的方法,那就是document.scrollingElement,兼容性足矣在实际项目中应用。JS基础API,人人必须了解的特性,学到就是赚到。
杀了个回马枪,还是说说position:sticky吧
2018年12月2日,星期日position:sticky早有耳闻也有所了解,后来,Chrome放弃了对其支持,我也就不关心这个声明了,今天偶然发现,卧槽,Chrome什么时候杀了个回马枪,居然又支持了。眼瞅着,各个浏览器纷纷立了山头,要必要关心关心position:sticky了,不要被人留下厚此薄彼的口舌。结果一关心,竟然发现,sticky定位要比预想的更强大,更有趣……
大侠,请留步,要不过来了解下CSS Scroll Snap?
2018年11月28日,星期三CSS Scroll Snap是CSS中一个独立的模块,可以让网页容器滚动停止的时候,自动平滑定位到指定元素的指定位置。虽然Scroll Snap最后的定位效果是平滑的,但是Scroll Snap的作用不是平滑滚动,而是元素定位增强。要想实现平滑滚动,请使用CSS scroll-behavior属性。
CSS scroll-behavior和JS scrollIntoView让页面滚动平滑
2018年10月21日,星期日从去年年底开始,浏览器已经开始支持的原生平滑滚动定位,CSS scroll-behavior属性和JS scrollIntoView()方法都可以。本文就将捋一捋这些平滑滚动新特性的使用方法,实际效果,以及如何在实际中应用等。一如既往,丰富配图,含GIF演示和视频截屏,必要的源代码展示和详尽的demo,希望本文内容能够对您的学习有所帮助。
小tips: 滚动容器尺寸变化子元素视觉上位置不变JS实现
2018年02月2日,星期五对于一个宽度不固定的滚动容器,如果里面内容已经滚动到了一定的高度,这个时候滚动容器的宽度发生变化,则里面内容的位置会进行重定位,一不留神就不知道刚才的位置是哪里了。
尤其是看小说这种非常考验眼力的场景。于是,就有需求:当滚动容器尺寸发生变化的时候(如宽屏窄屏切换,或者默认尺寸变全屏时候),最上面元素位置要保持不变,这样视觉体验就很好。不会因为突然的尺寸变化而不知道刚才看到哪里了。
那么该如何实现呢?
借助CSS Shapes实现元素滚动自动环绕iPhone X的刘海
2017年09月19日,星期二iPhone X造型上有个显著的特质,就是有个明显的刘海。
然后,也出现了一些酷酷的交互,例如页面滚动的时候,列表会自动绕着iPhone X的刘海排列。看微博评论,好像觉得这个效果实现很难,实际上,CSS3里面针对这种特定形状环绕的效果已经支持很久了,CSS3 Shapes和CSS3 Regions都是可以实现的,本文就将展示如何使用CSS3 Shapes实现元素内容在滚动的时候自动环绕iPhone X的齐刘海的效果。
web移动端浮层滚动阻止window窗体滚动JS/CSS处理
2016年12月31日,星期六最近做移动端项目,遇到个类似的需求,就是,在众多web浏览器中,当我们出现一个浮层,浮层里面也有滚动条的时候,且有部分背景半透明的时候,就会发现,当我们滚动浮层里面的小滚动条的时候,背后整个页面都跟着一起滚走了。
后来发现,要让后面的窗体不滚动还不是那么简单的……
如何使用Tween.js各类原生动画运动缓动算法
2016年12月19日,星期一Tween.js是一个包含各种经典动画算法的JS资源,之前在多篇文章有提到过,AS中甚至有专门的Tween类,但是之前仅仅是提一下,并未详细介绍如何使用,这里,就是专门介绍Tween类中各种算法如何使用,如何应用与实际,以及分享下基于Tween.js写的一个更简单易懂更容易调用的animation.js,希望本文的内容能够对大家的学习有所帮助。
小tip: 子元素scroll父元素容器不跟随滚动JS实现
2015年12月18日,星期五在网页中,滚动条的滚动行为也是类似的调调,如果页面出现多个内嵌滚动条,则行为表现是:子元素滚,子元素滚,子元素滚完父元素滚;父元素滚,父元素滚,父元素滚完容器滚……
这是浏览器的默认行为,如果我们遇到了一个需求:子元素滚,子元素滚完,就完了,父元素不需要滚了。那该如何实现呢?