在3D制作正方形时,将动画效果的opacity值设置小于1时,正方体崩塌为一个面的原因解析
2019-03-22 19:20
134 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhangtian_tian/article/details/88748728
在使用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、原来通过父级做为平移参照的所有图形,因为找不到正确的平移参照,产生塌陷,被压缩到同一平面。
相关文章推荐
- h5新标签和css3动画制作一个鼠标悬停的动画效果
- 叶孤城大神之--视频特效制作:如何给视频添加边框、水印、动画以及3D效果
- CSS3 3D效果 实现一个可旋转的正方体
- 纯CSS3制作骰子3D旋转动画效果
- Flash遮照制作3D动画视觉效果
- delay()--一个很常用的jquery方法,制作页面动画效果的利器
- css3动画效果 正方体3d旋转
- WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体
- 【分享】HTML5的Canvas制作3D动画效果分享
- 视频特效制作:如何给视频添加边框、水印、动画以及3D效果
- Flash遮照制作3D动画视觉效果
- 视频特效制作:如何给视频添加边框、水印、动画以及3D效果
- 视频特效制作:如何给视频添加边框、水印、动画以及3D效果
- 视频特效制作:如何给视频添加边框、水印、动画以及3D效果
- 3D Grid Effect – 使用 CSS3 制作网格动画效果
- css边框、背景设置、字体效果、2D、3D变化及css动画
- 用CATransform3D实现3D效果和制作简单3D动画
- WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体
- Coco2dx制作一个3D旋转的效果
- Coco2dx制作一个3D旋转的效果