在3D制作正方形时,将动画效果的opacity值设置小于1时,正方体崩塌为一个面的原因解析

在使用CSS3.0制作3D正方体时,将底层div的opacity值设置为小于1时。或是在@keyframes中将opacity设置为小于1时。正方体塌陷为2D的平面体。
如下图为正常显示的正方体3D图形,其中opacity值为1
在这里插入图片描述如下图显示的正方体,其中opacity值为非1在这里插入图片描述
两图对比可发现,当正方体的父级div的opacity值小于1时,原有的正方体出现了塌陷,显示为一个二维图形。
通过观察可以发现,塌陷后的二维图形只显示了原正方体的前后两个面(注意观察图形左上角的描述文字)其他通过旋转原有和平移的四个面均为显示。由此可以推论,当父级的opacity值小于1时,旋转所得的面将消失。
为了更加直观的观察,如下图红色方块的旋转效果。在这里插入图片描述
通过代码页可以看到,红色方块在绿色方块中hight:50px的位置按照X轴进行了旋转。通过观察可以发现红色方块是以绿色方块height:50px为X轴做旋转。
所以当绿色色块的opacity值小于1时,绿色色块的可见度为非实际可见。那么提供红色色块作为X轴旋转的像素点不可见,所以红色色块找不到X轴作为旋转轴。故而无法渲染旋转后的图形,因此无法显示为正常的正方体。所以才会出现原有的正方体发生崩塌,形成一个二维的方块。
结论:
当父级的opacity值小于1时
1、原来通过父级做为旋转参照的所有旋转面,无法正确找到旋转轴心,导致无法正常显示,产生图形丢失。
2、原来通过父级做为平移参照的所有图形,因为找不到正确的平移参照,产生塌陷,被压缩到同一平面。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值