【bug记录】translateZ在z轴运动会裁去屏幕外的内容,有个边框(安卓异常,ios正常)

问题描述

最近在写公司app的用户年终盘点,首页需要做个动效。大概效果就是很多花或者其他元素从屏幕里往屏幕外扩散的效果。
我立马想到了用transform来做,只要将图片在z轴上进行移动就行,然后再配合filer: blur()加强元素的层叠关系。
但是!!!做完之后在电脑上看非常完美,提测之后,发现在安卓手机上,元素由内(translateZ为负值)往外(translateZ变为0)移动时,竟然有个边框,像是设置了overflow:hideen一样,然后我就瞎改一通,把它的所有父元素都加上了overflow:visibly,但是根本没有用。

效果如下,这是从内到屏幕表面的元素(还有一层是从屏幕表面到屏幕外的元素,为了方便体现效果,我给隐藏了)。

在这里插入图片描述

问题解决

试着改了各种样式没试出来,无奈之下,写了个小demo,只将简单的元素进行z轴移动,发现并没有这问题。这时候我恍然大悟!,肯定不是transform的兼容性问题。
思考片刻之后,想到了可能是我设置了元素的blur模糊导致的,果不其然,去掉之后问题解决了!


解决方法: 进行translateZZ轴移动的元素,不能设置filer:blur,否则安卓手机上,元素在屏幕内(translateZ为负值)时会形成一个边框,裁去屏幕外的部分。(另外我试了box-shadow没事)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端阿彬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值