【动画消消乐】HTML+CSS 自定义加载动画:清新折叠方块效果 063(附源码及原理详解) (2)

使用box-shadow为span::before设置四个阴影

span::before { box-shadow: 0 24px red, /* 阴影1 */ 24px 24px orange, /* 阴影2 */ 24px 48px yellow, /* 阴影3 */ 0px 48px green; /* 阴影4 */ }

四个阴影位置关系如下:

在这里插入图片描述


注:这里为了视觉显示区分四个阴影,每个阴影采用了不同的颜色,在实际中其实每个阴影都设置为白色。

步骤4

为span::before的四个阴影添加动画loading_1

每个阴影只有两种状态:显示不显示

显示与否则是通过设置颜色的透明级别为0或1

比如

阴影显示:0 24px rgba(255, 255, 255, 1)

阴影不显示:0 24px rgba(255, 255, 255, 0)

关键有 九帧

第一帧

阴影1、2、3、4均不显示

box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px rgba(255, 255, 255, 0), 24px 48px rgba(255, 255, 255, 0), 0px 48px rgba(255, 255, 255, 0);

效果图如下:

在这里插入图片描述


第二帧

阴影1显示

阴影2、3、4不显示

box-shadow: 0 24px rgba(255, 255, 255, 1), 24px 24px rgba(255, 255, 255, 0), 24px 48px rgba(255, 255, 255, 0), 0px 48px rgba(255, 255, 255, 0);

效果图如下:

在这里插入图片描述

第三帧

阴影1、2显示

阴影3、4不显示

box-shadow: 0 24px rgba(255, 255, 255, 1), 24px 24px rgba(255, 255, 255, 1), 24px 48px rgba(255, 255, 255, 0), 0px 48px rgba(255, 255, 255, 0);

效果图如下:

在这里插入图片描述

第四帧

阴影1、2、3显示

阴影4不显示

box-shadow: 0 24px rgba(255, 255, 255, 1), 24px 24px rgba(255, 255, 255, 1), 24px 48px rgba(255, 255, 255, 1), 0px 48px rgba(255, 255, 255, 0);

效果图如下:

在这里插入图片描述

第五帧

阴影1、2、3、4都显示

box-shadow: 0 24px rgba(255, 255, 255, 1), 24px 24px rgba(255, 255, 255, 1), 24px 48px rgba(255, 255, 255, 1), 0px 48px rgba(255, 255, 255, 1);

效果图如下:

在这里插入图片描述

第六帧

阴影2、3、4显示

阴影1不显示

box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px rgba(255, 255, 255, 1), 24px 48px rgba(255, 255, 255, 1), 0px 48px rgba(255, 255, 255, 1);

效果图如下:

在这里插入图片描述

第七帧

阴影3、4显示

阴影1、2不显示

box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px rgba(255, 255, 255, 0), 24px 48px rgba(255, 255, 255, 1), 0px 48px rgba(255, 255, 255, 1);

效果图如下:

在这里插入图片描述

第八帧

阴影4显示

阴影1、2、3不显示

box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px rgba(255, 255, 255, 0), 24px 48px rgba(255, 255, 255, 0), 0px 48px rgba(255, 255, 255, 1);

效果图如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfxpg.html