.zui-loading { position: relative; color: #c8c9cc; font-size: 0; vertical-align: middle; display: inline-block; } .zui-loading__spinner { position: relative; display: inline-block; width: 30px; max-width: 100%; height: 30px; max-height: 100%; vertical-align: middle; animation: zui-rotate 0.8s linear infinite; } .zui-loading__spinner--spinner { animation-timing-function: steps(12); } .zui-loading__spinner--spinner i { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .zui-loading__spinner--spinner i::before { display: block; width: 2px; height: 25%; margin: 0 auto; background-color: currentColor; border-radius: 40%; content: ' '; } .zui-loading__spinner--circular { animation-duration: 2s; } .zui-loading__circular { display: block; width: 100%; height: 100%; } .zui-loading__circular circle { animation: zui-circular 1.5s ease-in-out infinite; stroke: currentColor; stroke-width: 3; stroke-linecap: round; } .zui-loading__text { display: inline-block; margin-left: 8px; color: #969799; font-size: 14px; vertical-align: middle; } .zui-loading--vertical { display: flex; flex-direction: column; align-items: center; } .zui-loading--vertical .zui-loading__text { margin: 8px 0 0; } @keyframes zui-circular { 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; } 50% { stroke-dasharray: 90, 150; stroke-dashoffset: -40; } 100% { stroke-dasharray: 90, 150; stroke-dashoffset: -120; } } @keyframes zui-rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .zui-loading__spinner--spinner i:nth-of-type(1) { transform: rotate(30deg); opacity: 1; } .zui-loading__spinner--spinner i:nth-of-type(2) { transform: rotate(60deg); opacity: 0.9375; } .zui-loading__spinner--spinner i:nth-of-type(3) { transform: rotate(90deg); opacity: 0.875; } .zui-loading__spinner--spinner i:nth-of-type(4) { transform: rotate(120deg); opacity: 0.8125; } .zui-loading__spinner--spinner i:nth-of-type(5) { transform: rotate(150deg); opacity: 0.75; } .zui-loading__spinner--spinner i:nth-of-type(6) { transform: rotate(180deg); opacity: 0.6875; } .zui-loading__spinner--spinner i:nth-of-type(7) { transform: rotate(210deg); opacity: 0.625; } .zui-loading__spinner--spinner i:nth-of-type(8) { transform: rotate(240deg); opacity: 0.5625; } .zui-loading__spinner--spinner i:nth-of-type(9) { transform: rotate(270deg); opacity: 0.5; } .zui-loading__spinner--spinner i:nth-of-type(10) { transform: rotate(300deg); opacity: 0.4375; } .zui-loading__spinner--spinner i:nth-of-type(11) { transform: rotate(330deg); opacity: 0.375; } .zui-loading__spinner--spinner i:nth-of-type(12) { transform: rotate(360deg); opacity: 0.3125; }