【推荐教程:CSS视频教程】
说明:正文只讲述单个流星雨的实现方式,多个的效果只需要对单个的动画起始点、宽度稍加修改即可,具体示例见文末 github 地址。
难度系数
☆☆☆☆☆
效果图
思路
流星雨的实现分为三部分:
(1)用 border 属性实现直角三角形。三角形的实现可以参考 CSS绘制三角形
HTML
<span class=shooting-star animation></span>
解析:
CSS
.shooting-star { margin: 30px; display: block; width: 0; border-radius: 2px; border-top-width: 1px; border-top-style: solid; border-top-color: transparent; border-left-width: 230px; border-left-style: solid; border-left-color: white; border-right-width: 230px; border-right-style: solid; border-right-color: transparent; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: white; } .animation { animation: fly 3s infinite; } @keyframes fly { from { margin-left: 900px; border-left-width: 130px; border-right-width: 130px; } to { margin-left: -900px; border-left-width: 360px; border-right-width: 360px; } }
解析:
- 直角三角形
- 圆形效果
- 通过 border-radius 设置圆形 border 即可,border-radius 的值与直角三角形高度相同即可(注意高度值应为 border-top-width 和 border-bottom-width 数值之和)
- 动画效果
知识点
Gitbub 源码:
https://github.com/nanzhangren/CSS_skills/blob/master/shooting_star/shooting_star.html
更多编程相关知识,请访问:编程入门!!