vant遮罩层 不能滚动_使用纯 CSS 实现滚动阴影效果

本文介绍如何使用纯 CSS 实现滚动阴影效果,特别是针对vant遮罩层不能滚动的问题。通过结合`background-attachment`和`position: sticky`属性,巧妙地利用背景叠加来模拟滚动阴影。文章提供DEMO演示并探讨了层叠顺序和兼容性问题。
摘要由CSDN通过智能技术生成

失踪人口回归,终于记起自己还有一个公众号,新的一年,给自己立个 Flag,坚持更新。原创为主,CSS 为主,不要错过。
开门见山,有这样一种非常常见的情况,对于一些可滚动的元素而言。通常在滚动的时候会给垂直于滚动的一侧添加一个阴影,用于表明当前有元素被滚动给该滚出了可视区域,类似这样:

364cc6f8a5a586fceb5d14a6977d7979.gif

可以看到,在滚动的过程中,会出现一条阴影:

0069939faabb3897d5840140f0d7351a.png

对于两侧的列在滚动的过程中,静止不动,吸附在边界的问题,通常 CSS 使用 position: sticky 即可解决。

但是对于滚动过程中才出现的阴影(滚动容器内的内容没有贴边,则阴影出现,贴边,则阴影消失),之前的做法一直都是需要借助 JS 完成的。

那么,有没有纯 CSS 能够实现的方案呢?嘿嘿嘿,有。有一种非常讨巧的障眼法,下面就让我们来一步一步揭开它的面纱。

神奇的 background-attachment

要使用纯 CSS 实现上述滚动阴影,最核心的要使用到的元素就是 background-attachment

在较早的一篇文章里 -- CSS 实现视差效果,详细了介绍了 background-attachment,借助了 background-attachment: fixed 可以简单的实现网站的滚动视差或者是类似图片点击的水纹效果,类似这样:

89810de17aba85d83d51600ab2df61c1.gif

当然,今天我们的主角不是 background-attachment: fixed,而是 background-attachment: srcoll

b

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值