Solar Partial Eclipse
Just testing :)
HTML
<div id="sky">
<div id="sun"></div>
<div id="moon"><b/></div>
</div>
CSS
html,
body,
#world {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
padding: 0;
}
#sky {
width: 100%;
height: 100%;
background: #87ceeb;
}
#sun {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 150px;
height: 150px;
border-radius: 75px;
background: yellow;
}
#moon {
position: absolute;
width: 150px;
height: 150px;
top: 50%;
left: 50%;
transform: translate(-50%, -45%);
}
#moon b {
display: block;
position: relative;
transform: rotate(25deg);
width: 150px;
height: 150px;
border-radius: 75px;
background-color: rgb(135, 206, 235);
transform-origin: 50% 300%;
}
#sky:hover b {
animation: transit 5s linear infinite,
darknes 5s linear infinite;
}
#sky:before {
background-image: radial-gradient(circle farthest-corner, black, #87ceeb 400px);
content: '';
display: block;
height: 100%;
width: 100%;
position: absolute;
opacity: 0;
}
#sky:hover:before {
animation: eclipse 5s linear infinite;
}
@keyframes eclipse {
0% { opacity: 0; }
5% { opacity: 0; }
40% { opacity: 0.99; }
50% { opacity: 1; }
60% { opacity: 0.99; }
95% { opacity: 0; }
100% { opacity: 0; }
}
@keyframes transit {
0% { transform: rotate(25deg); }
40% { transform: rotate(1deg); }
50% { transform: rotate(0deg); }
60% { transform: rotate(-1deg); }
100% { transform: rotate(-25deg); }
}
@keyframes darknes {
0% { background-color: rgb(135, 206, 235); }
5% { background-color: rgb(135, 206, 235); }
40% { background-color: rgb(13, 20, 23); }
50% { background-color: rgb(0, 0, 0); }
60% { background-color: rgb(13, 20, 23); }
95% { background-color: rgb(135, 206, 235); }
100% { background-color: rgb(135, 206, 235); }
}