使用纯CSS3实现一个日食动画

日食现象是月亮挡在了地球和太阳之间,也就是月亮遮挡住了太阳。

所以要构造日食,我们需要2个对象:一个代表月亮,一个代表太阳。

<div class="eclipse sun"></div>
<div class="eclipse moon"></div>

我们把整个日食过程分解为3个阶段:1. 缓慢移入 2. 短暂停留 3. 缓慢移出。

在此期间,会产生3个彼此关联的动画。

首先是月亮的位置移动,我们通过改变月亮的X坐标(left或right属性值)来实现(注意把太阳和月亮均设置成绝对定位)。

其次太阳会逐步呈现出圆晕的光线效果,我们使用框阴影(box-shadow)来实现。

box-shadow: 0px 0px 10px 5px #FFAD00;
最后与此同步的是,整个页面背景要呈现一个变暗的效果,这个比较简单,改变body的background-color即可。
剩下的事情就是针对以上阶段编写关键帧(keyframes)的CSS规则即可。

你可以自己试试看 (http://wow.techbrood.com/fiddle/6372)。



by iefreer

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值