<head>
<meta charset=\”utf-8\”>
<title>逼真的CSS3日食动画特效</title>
<style>
html, body {
width: 100%;
overflow-x: hidden;
}
*, *:before, *:after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.universe {
width: 100vw;
height: 100vh;
background: #030613;
display: block;
position: relative;
-webkit-animation: skyDim 4s 8s linear forwards;
animation: skyDim 4s 8s linear forwards;
}
.universe:before {
content: \”\”;
box-shadow: 10vw 1vh #fff, 14vw 29vh 2px #FFF, 23vw 34vh 1px #FFF, 1vw 99vh 1px #FFF, 20vw 80vh #FFF, 90vw 10vh 2px #fff, 55vw 9vh #FFF, 24vw 4vh 1px #FFF, 50vw 99vh 1px #FFF, 74vw 40vh 1px #FFF, 80vw 9vh 1px #FFF, 20vw 80vh #FFF, 85vw 78vh #fff;
width: 4px;
height: 4px;
position: absolute;
border-radius: 50%;
-webkit-animation: starsFloating 100s -200s linear both infinite;
animation: starsFloating 100s -200s linear both infinite;
}
.universe:after {
content: \”\”;
box-shadow: 37vw 78vh #fff, 17vw 69vh #FFF, 68vw 4vh 1px #FFF, 98vw 9vh 1px #FFF, 45vw 67vh #FFF, 95vw 1vh 2px #fff, 35vw 75vh 2px #FFF, 44vw 47vh 1px #FFF, 54vw 5vh 1px #FFF, 22vw 29vh 1px #FFF, 39vw 71vh 1px #FFF, 11vw 11vh #FFF, 88vw 82vh #fff;
width: 2px;
height: 2px;
position: absolute;
border-radius: 50%;
-webkit-animation: starsFloating 100s 3s linear backwards infinite;
animation: starsFloating 100s 3s linear backwards infinite;
}
.sun {
height: 200px;
width: 200px;
border-radius: 50%;
background: #cfcfd4;
box-shadow: 0 0 60px gold, 0 0 100px #b9a018, inset 0 5px 35px 53px #dbdbdb, inset 48px 8px 34px 25px #c4c4c4;
left: calc(50% – 100px);
top: calc(50% – 100px);
position: absolute;
-webkit-animation: sunFreakOut 5s 7.1s linear forwards;
animation: sunFreakOut 5s 7.1s linear forwards;
}
.moon {
height: 50px;
width: 50px;
border-radius: 50%;
background: rgba(0, 0, 0, 0.99);
box-shadow: inset 5px 1px 10px -8px #d4d4d6;
-webkit-transition: 1s;
transition: 1s;
top: calc(40% – 100px);
position: absolute;
z-index: 5;
-webkit-animation: move 20s ease-in-out forwards;
animation: move 20s ease-in-out forwards;
}
@-webkit-keyframes move {
0% {
-webkit-transform: translateX(100vw);
transform: translateX(100vw);
}
40%, 60% {
top: calc(50% – 100px);
}
50%, 50.5% {
width: 200px;
height: 200px;
-webkit-transform: translateX(calc(50vw – 100px));
transform: translateX(calc(50vw – 100px));
box-shadow: inset 20px 1px 35px -15px #d4d4d6;
top: calc(50% – 100px);
}
60% {
box-shadow: inset -20px 1px 35px -15px #d4d4d6;
}
100% {
width: 50px;
height: 50px;
-webkit-transform: translateX(calc(-1vw – 60px));
transform: translateX(calc(-1vw – 60px));
top: calc(40% – 100px);
box-shadow: inset -5px 1px 10px -8px #d4d4d6;
}
}
@keyframes move {
0% {
-webkit-transform: translateX(100vw);
transform: translateX(100vw);
}
40%, 60% {
top: calc(50% – 100px);
}
50%, 50.5% {
width: 200px;
height: 200px;
-webkit-transform: translateX(calc(50vw – 100px));
transform: translateX(calc(50vw – 100px));
box-shadow: inset 20px 1px 35px -15px #d4d4d6;
top: calc(50% – 100px);
}
60% {
box-shadow: inset -20px 1px 35px -15px #d4d4d6;
}
100% {
width: 50px;
height: 50px;
-webkit-transform: translateX(calc(-1vw – 60px));
transform: translateX(calc(-1vw – 60px));
top: calc(40% – 100px);
box-shadow: inset -5px 1px 10px -8px #d4d4d6;
}
}
@-webkit-keyframes skyDim {
0%, 100% {
background: #030613;
}
50%, 70% {
background: black;
}
}
@keyframes skyDim {
0%, 100% {
background: #030613;
}
50%, 70% {
background: black;
}
}
@-webkit-keyframes sunFreakOut {
0%, 100% {
box-shadow: 0 0 60px gold, 0 0 100px #b9a018, inset 0 5px 35px 53px #dbdbdb, inset 48px 8px 34px 25px #c4c4c4;
}
50%, 70% {
box-shadow: 0 0 50px #e30000, 0 0 0px #b91818, inset 0 5px 35px 53px #dbdbdb, inset 48px 8px 34px 25px #c4c4c4;
}
}
@keyframes sunFreakOut {
0%, 100% {
box-shadow: 0 0 60px gold, 0 0 100px #b9a018, inset 0 5px 35px 53px #dbdbdb, inset 48px 8px 34px 25px #c4c4c4;
}
50%, 70% {
box-shadow: 0 0 50px #e30000, 0 0 0px #b91818, inset 0 5px 35px 53px #dbdbdb, inset 48px 8px 34px 25px #c4c4c4;
}
}
@-webkit-keyframes starsFloating {
0% {
opacity: 0;
}
10% {
opacity: 1;
}
100% {
-webkit-transform: translateY(-100vh);
transform: translateY(-100vh);
}
}
@keyframes starsFloating {
0% {
opacity: 0;
}
10% {
opacity: 1;
}
100% {
-webkit-transform: translateY(-100vh);
transform: translateY(-100vh);
}
}
</style>
</head>
这是一款非常逼真的使用纯CSS3实现的一个天狗食月日食动画特效,当日全食时,还有背景星星闪烁动画特效,效果很漂亮
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.qnziyw.cn",如遇到无法解压的请联系管理员!
青柠资源网 » CSS3做的日食动画特效
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍
- 提示下载完但解压或打开不了?
- 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们。
- 找不到素材资源介绍文章里的示例图片?
- 对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单