首页 > web前端 > css教程 > 用javascript滚动阴影

用javascript滚动阴影

Jennifer Aniston
发布: 2025-03-19 10:31:08
原创
985 人浏览过

Scroll Shadows With JavaScript

滚动阴影是一种用户体验良好的设计,只有当元素可以滚动时才会显示一个小小的内阴影。令人惊奇的是,这可以用CSS实现,堪称CSS技巧的典范。然而……它在iOS Safari上并不起作用。它曾经可以工作,但在iOS 13中以及其他一些有用的CSS功能一起失效了,没有解释原因,并且一直没有修复,但现在至少在2022年7月已经修复了(感谢Ronald!)。

以下是一个纯CSS示例,您可以在所有浏览器中看到它的效果。截图如下:(此处应插入截图)

我之所以现在提出这个问题,是因为我看到Jonnie Hallman再次在博客中提到它。他在5月份将其作为一个很棒的小细节提到。在某些界面中,滚动阴影非常有意义。

回过头来看,我想到了目前有效的解决方案,使用滚动事件。如果滚动区域已滚动,则显示顶部和左侧阴影。如果滚动区域没有完全滚动,则显示底部和右侧阴影。考虑到这一点,我尝试了最简单、最直接、最不巧妙的方法,即在滚动区域的顶部、右侧、底部和左侧放置空的div。我称这些为“边缘”,我使用Intersection Observer API观察它们。如果任何边缘与滚动区域不相交,我可以假设该边缘已滚动,并且可以显示该边缘的阴影。然后,一旦边缘相交,我可以假设滚动区域已到达滚动的边缘,因此我可以隐藏该阴影。

巧妙!不幸的是,没有在线演示,但请阅读文章以了解有关实现的更多详细信息。

其他基于JavaScript的示例

但我认为,如果您要这样做,则应该选择IntersectionObserver方法。希望能看到有人将这些想法中最优秀的部分整合在一起(暗示暗示)。

以上是用javascript滚动阴影的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板