用 css 实现简易报警灯| 社区征文
主题
用 css 来实现一个简易的报警灯效果
实现效果
实现思路
实现的核心是一个灯罩和一个灯芯。灯罩主要是使用了 border-radius 圆角边框,灯芯主要是 radial-gradient 径向渐变。再使用动画效果来实现一闪一闪的效果。让我们来一步一步实现效果。
灯罩实现
因为大部分报警灯是红色,而且是子弹头形状的圆角柱状。
使用简单的二维实现的话,我们先需要使用一个红色矩形。
复制代码
由于一般子弹头的圆角柱状,上面的圆角比下面的大,所以上面使用的圆角数据,也需要比下面大。
复制代码
这样,一个简易的灯罩就完成了。
灯芯实现
经过观察,灯芯主要为黄色,但是伴有闪烁。我们先需要实现灯芯效果。
用于灯罩是红色,黄色光需要过度,所以使用从黄色到红色的渐变。
复制代码
将这个模块放到灯罩模块内部,随便处理一下居中和超出的边缘。
复制代码
这样就实现了一个灯在灯罩内部常亮的一个效果。
灯芯闪烁效果实现
灯芯的闪烁,主要是使用到了 CSS 的 @keyframes 动画和 opacity 透明度。用 @keyframes 分为 3 段时间:开灯、开灯缓冲、关灯。
复制代码
分别使用的是:0.9、0.5 和 0。如果使用 1 的话,会显得太过于生硬。
灯芯一般 0.5s 闪烁一次,而且是一直闪烁。需要再灯芯的地方设置:
复制代码
版权声明: 本文为 InfoQ 作者【肥晨】的原创文章。
原文链接:【http://xie.infoq.cn/article/2f761749e8981efbec5e5ba81】。文章转载请联系作者。
评论