使用纯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

时间: 2024-08-27 20:07:49

使用纯CSS3实现一个日食动画的相关文章

2014圣诞节一款纯css3实现的雪人动画特效

在2014年的圣诞节,爱编程小编给大家分分享一款纯css3实现的雪人动画特效.该实例实现一个雪人跳动的特效,效果图如下: 在线预览   源码下载 实现的代码. html代码: <span class="text">lolwut<small>[email protected]</small></span> <div class="body"> <div class="hat">

纯CSS3实现打火机火焰动画

HTML5已经越来越流行起来了,尤其是移动互联网的发展,更是带动了HTML5的迅猛发展,我们也是时候学习HTML5了,以防到时候落伍.今天给大家介绍10款效果惊艳的HTML5应用,方便大家学习,也将应用的源码整理了一下发给大家. 1.纯CSS3实现打火机火焰动画 这又是一款很酷的纯CSS3动画特效,它是一个可以点燃的打火机,当你用鼠标滑过这只打火机时,打火机就会打开,然后开始出现火焰燃烧的动画特效.另外要说明的是,整个动画都是利用纯CSS3实现的,没有一行JS代码,小伙伴们,这个CSS3动画是不

一款简洁的纯css3代码实现的动画导航

之前为大家介绍了好多导航菜单,今天给大家分享一款简洁的纯css3代码实现的动画导航.鼠标经过的时候以背景色以菱形渐变为长方形.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div align="center" style="background-color: #ee1d27; padding: 20px;"> <div class="contener_link"> <div class=&qu

纯CSS3制作皮卡丘动画壁纸

前言 明天就放假了,趁着今晚的空挡时间来写这篇博客——这是我昨晚实现的一个简单的CSS3动画效果.话说还得缘起我逛了一下站酷网,然后不小心看到了一张皮卡丘的手机壁纸,觉得很可爱,然后觉得这种效果是可以用CSS3来实现的,于是带着好感就实现了它.至于原图吧,为了不影响大家对我实现的动画产生对比,我就有心地不放上来了,哈哈!那么到底是什么效果呢?接着往下看吧! 正文 OK,接下来就是晒效果图的时候了,看图后才有兴趣了解一下,不然很沉闷,没什么心思看了. PS:由于我这个动画的尺寸做得比较大(720

使用纯CSS3实现一个3D旋转的书本

有一些前沿的电商网站已经开始使用3D模型来展示商品并支持在线定制,而其中图书的展示是最为简单的一种, 无需复杂的建模过程,使用图片和CSS3的一些变换即可实现更好的展示效果,简洁而实用. 书本的3D模型是所有商品中最为简单的,因为其本质上就是一个立方体(cube),只是带有封面/封底和左侧封条. 所以要构造一个3D书本展示,问题就被分解为构造一个立方体+旋转+图片背景. 1. 构造一个立方体 要创建一个立方体,首先我们需要创建一个虚拟的三维视觉空间,这可以通过设置包容器元素的perspectiv

纯css写一个带动画的弹框 visibility + opcity

css能实现各种各样的动态效果,比js实现简单,性能也比js实现高,现在我们就用纯css实现弹窗,主要用到了两个属性 opcity 和 visibility, opctiy 这个属性很简单 控制元素透明度 ,visibility控制元素的显示和隐藏,他和display有一个很重要的区别,visibility可以用transition来进行过渡,而display并不可以,这就是我们不用display的原因 可以配合上transform: scale() 让弹窗更有动态感觉 全部代码: <!DOCT

如何使用纯CSS3创建一个简单的五角星图形

我们可以使用SVG.Canvas.CSS3或者背景图片来实现五角星图案及其悬停效果. CSS3引入的伪元素和变换特性使得实现五角星图形非常简单,并且可以结合渐变实现更为漂亮的效果.因此使用图片实现五角星已经毫无必要(图片占用额外的请求,且数据量大.除非要支持低版本的桌面IE浏览器). 首先我们创建一个三角形,这通常是使用带大尺寸边线而零内容尺寸的元素来实现,代码示范: .tri { width: 0; height: 0; border-left: 15px solid transparent;

16.纯 CSS 创作一个渐变色动画边框

原文地址:https://segmentfault.com/a/1190000014785816 感想:边框是伪元素::after来的: HTML代码: <div class="box"> you are my<br> FAVORIFE </div> CSS代码: html, body,.box { margin: 0; padding: 0; height: 100%; display: flex; justify-content: center;

纯CSS3按钮边框线条动画特效--底部边框hover从中点向两侧变长

html: <a href='' class='ui-box bottom-inOutSpread'>Audio Description</a> css: .ui-box { text-decoration:none; border:none; font-family:'Roboto', sans-serif; font-size:14px; position:relative; vertical-align:baseline; padding:10px}.bottom-inOut