UNPKG

hexo-theme-async

Version:

🎈 A simple, lightweight Hexo theme

353 lines (287 loc) • 4.65 kB
.trm-preloader { width: 100%; height: 100vh; position: fixed; top: 0; left: 0; display: flex; justify-content: center; align-items: center; opacity: 0; pointer-events: none; .transition-mixin(all, 0.6s); } .preloader { width: 45px; height: 45px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); animation: rotatePreloader 1.5s infinite ease-in; } @keyframes rotatePreloader { 0% { transform: translateX(-50%) translateY(-50%) rotateZ(0deg); } 100% { transform: translateX(-50%) translateY(-50%) rotateZ(-360deg); } } .preloader div { position: absolute; width: 100%; height: 100%; opacity: 0; } .preloader div:before { content: ""; position: absolute; left: 50%; top: 0; width: 12%; height: 12%; background-color: var(--preloader-background, #00283a); transform: translateX(-50%); border-radius: 50%; } .preloader div:nth-child(1) { transform: rotateZ(0deg); animation: rotateCircle1 1.5s infinite linear; z-index: 9; } @keyframes rotateCircle1 { 0% { opacity: 0; } 0% { opacity: 1; transform: rotateZ(36deg); } 7% { transform: rotateZ(0deg); } 57% { transform: rotateZ(0deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(2) { transform: rotateZ(36deg); animation: rotateCircle2 1.5s infinite linear; z-index: 8; } @keyframes rotateCircle2 { 5% { opacity: 0; } 5.0001% { opacity: 1; transform: rotateZ(0deg); } 12% { transform: rotateZ(-36deg); } 62% { transform: rotateZ(-36deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(3) { transform: rotateZ(72deg); animation: rotateCircle3 1.5s infinite linear; z-index: 7; } @keyframes rotateCircle3 { 10% { opacity: 0; } 10.0002% { opacity: 1; transform: rotateZ(-36deg); } 17% { transform: rotateZ(-72deg); } 67% { transform: rotateZ(-72deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(4) { transform: rotateZ(108deg); animation: rotateCircle4 1.5s infinite linear; z-index: 6; } @keyframes rotateCircle4 { 15% { opacity: 0; } 15.0003% { opacity: 1; transform: rotateZ(-72deg); } 22% { transform: rotateZ(-108deg); } 72% { transform: rotateZ(-108deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(5) { transform: rotateZ(144deg); animation: rotateCircle5 1.5s infinite linear; z-index: 5; } @keyframes rotateCircle5 { 20% { opacity: 0; } 20.0004% { opacity: 1; transform: rotateZ(-108deg); } 27% { transform: rotateZ(-144deg); } 77% { transform: rotateZ(-144deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(6) { transform: rotateZ(180deg); animation: rotateCircle6 1.5s infinite linear; z-index: 4; } @keyframes rotateCircle6 { 25% { opacity: 0; } 25.0005% { opacity: 1; transform: rotateZ(-144deg); } 32% { transform: rotateZ(-180deg); } 82% { transform: rotateZ(-180deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(7) { transform: rotateZ(216deg); animation: rotateCircle7 1.5s infinite linear; z-index: 3; } @keyframes rotateCircle7 { 30% { opacity: 0; } 30.0006% { opacity: 1; transform: rotateZ(-180deg); } 37% { transform: rotateZ(-216deg); } 87% { transform: rotateZ(-216deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(8) { transform: rotateZ(252deg); animation: rotateCircle8 1.5s infinite linear; z-index: 2; } @keyframes rotateCircle8 { 35% { opacity: 0; } 35.0007% { opacity: 1; transform: rotateZ(-216deg); } 42% { transform: rotateZ(-252deg); } 92% { transform: rotateZ(-252deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(9) { transform: rotateZ(288deg); animation: rotateCircle9 1.5s infinite linear; z-index: 1; } @keyframes rotateCircle9 { 40% { opacity: 0; } 40.0008% { opacity: 1; transform: rotateZ(-252deg); } 47% { transform: rotateZ(-288deg); } 97% { transform: rotateZ(-288deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } } .preloader div:nth-child(10) { transform: rotateZ(324deg); animation: rotateCircle10 1.5s infinite linear; z-index: 0; } @keyframes rotateCircle10 { 45% { opacity: 0; } 45.0009% { opacity: 1; transform: rotateZ(-288deg); } 52% { transform: rotateZ(-324deg); } 102% { transform: rotateZ(-324deg); } 100% { transform: rotateZ(-324deg); opacity: 1; } }