mirror of
https://github.com/uiverse-io/galaxy.git
synced 2025-11-27 20:50:21 +08:00
111 lines
No EOL
2 KiB
HTML
111 lines
No EOL
2 KiB
HTML
<div class="space-loader">
|
|
<div id="stars" class="stars"></div>
|
|
<div class="orbit"></div>
|
|
<div class="ring"></div>
|
|
<div class="planet"></div>
|
|
<div class="satellite"></div>
|
|
</div>
|
|
|
|
<style>
|
|
/* From Uiverse.io by IsaiahAltDelete - Tags: loader */
|
|
.space-loader {
|
|
width: 200px;
|
|
height: 200px;
|
|
position: relative;
|
|
background-color: #000;
|
|
border-radius: 50%;
|
|
overflow: hidden;
|
|
box-shadow: 0 0 30px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.planet {
|
|
width: 80px;
|
|
height: 80px;
|
|
background: radial-gradient(circle at 30% 30%, #fff, #888);
|
|
border-radius: 50%;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.ring {
|
|
width: 120px;
|
|
height: 120px;
|
|
border: 4px solid rgba(255, 255, 255, 0.3);
|
|
border-radius: 50%;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%) rotateX(75deg) rotateY(15deg);
|
|
animation: rotate 12s linear infinite;
|
|
}
|
|
|
|
.orbit {
|
|
width: 160px;
|
|
height: 160px;
|
|
border: 1px dashed rgba(255, 255, 255, 0.3);
|
|
border-radius: 50%;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
.satellite {
|
|
width: 10px;
|
|
height: 10px;
|
|
background-color: #fff;
|
|
border-radius: 50%;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
animation: orbit 8s linear infinite;
|
|
}
|
|
|
|
.stars {
|
|
width: 100%;
|
|
height: 100%;
|
|
position: absolute;
|
|
animation: twinkle 4s ease-in-out infinite;
|
|
}
|
|
|
|
.star {
|
|
position: absolute;
|
|
background-color: #fff;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
@keyframes rotate {
|
|
0% {
|
|
transform: translate(-50%, -50%) rotateX(75deg) rotateY(15deg) rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: translate(-50%, -50%) rotateX(75deg) rotateY(15deg)
|
|
rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@keyframes orbit {
|
|
0% {
|
|
transform: rotate(0deg) translateX(80px) rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg) translateX(80px) rotate(-360deg);
|
|
}
|
|
}
|
|
|
|
@keyframes twinkle {
|
|
0%,
|
|
100% {
|
|
opacity: 0.3;
|
|
}
|
|
50% {
|
|
opacity: 0.8;
|
|
}
|
|
}
|
|
|
|
</style>
|
|
|