CSS starfield
based on https://codepen.io/keithclark/pen/zqcEd?editors=1100
by s_light
HTML
<h1>CSS starfield</h1>
<div id="space">
<div class="stars"></div>
<div class="stars"></div>
<div class="stars"></div>
<div class="stars"></div>
<div class="stars"></div>
<div class="stars"></div>
</div>
CSS
@import url(https://fonts.googleapis.com/css?family=Orbitron:700);
/* Stars
------------------------------------- */
#space, .stars {
overflow: hidden;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.stars {
background-image:
radial-gradient(2px 2px at 10% 15%, #eee, rgba(0,0,0,0)),
radial-gradient(2px 2px at 20% 35%, #fff, rgba(0,0,0,0)),
radial-gradient(2px 2px at 25% 80%, #ddd, rgba(0,0,0,0)),
radial-gradient(2px 2px at 45% 20%, #fff, rgba(0,0,0,0)),
radial-gradient(2px 2px at 65% 80px, #fff, rgba(0,0,0,0)),
radial-gradient(3px 3px at 5% 80%, #ddd, rgba(0,0,0,0)),
radial-gradient(2px 2px at 80% 60%, #ddd, rgba(0,0,0,0));
background-repeat: repeat;
background-size: 50vw 50vh;
animation: starmove 120s infinite;
opacity: 0.1;
width:200vw;
left:-100vw;
}
.stars:nth-child(1) {
background-position: 50% 50%;
animation-delay: 0s;
}
.stars:nth-child(2) {
background-position: 0% 50%;
animation-delay: 1s;
left: - 200vw;
}
.stars:nth-child(3) {
background-position: -20% -30%;
animation-delay: 10s;
animation-duration: 200s;
transform: rotate(30deg);
}
.stars:nth-child(4) {
background-position: 40% -80%;
animation-delay: 15s;
transform: rotate(-70deg);
}
.stars:nth-child(5) {
background-position: -20% 30%;
animation-delay: 20s;
transform: rotate(110deg);
}
.stars:nth-child(6) {
background-position: 60% 45%;
animation-delay: 25s;
transform: rotate(180deg);
}
@keyframes starmove {
0% {
opacity: 0.3;
transform: translate(0, -1%);
animation-timing-function: ease-in;
}
20% {
opacity: 1.0;
animation-timing-function: ease-in-out;
}
50% {
opacity: 0.3;
transform: translate(50%, 10%);
animation-timing-function: ease-in-out;
}
80% {
opacity: 1.0;
animation-timing-function: ease-in-out;
}
100% {
opacity: 0.3;
transform: translate(100%, -2%);
animation-timing-function: ease-out;
}
}
/* Demo syles...