<div id="loader" class="hidden showbox fixed inset-0 p-5 bg-gray-100/40">
<div class="loader relative w-24 h-24 mx-auto">
<svg class="circular absolute inset-0 top-[40vh] w-full h-full animate-spin" viewBox="25 25 50 50">
<circle class="path fill-none stroke-current stroke-[2px] stroke-miterlimit-10 animate-dash" cx="50" cy="50" r="20" />
</svg>
</div>
</div>
<style>
@keyframes dash {
0% {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 89, 200;
stroke-dashoffset: -35px;
}
100% {
stroke-dasharray: 89, 200;
stroke-dashoffset: -124px;
}
}
@keyframes color {
0%, 100% {
stroke: #d62d20;
}
40% {
stroke: #0057e7;
}
66% {
stroke: #008744;
}
80%, 90% {
stroke: #ffa700;
}
}
/* Стиль для анімації обертання */
.animate-spin {
animation: rotate 2s linear infinite;
}
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
/* Анімація руху dash */
.animate-dash {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
}
</style>
{#<div id="loader" class="showbox hidden">#}
{# <div class="loader">#}
{# <svg class="circular" viewBox="25 25 50 50">#}
{# <circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/>#}
{# </svg>#}
{# </div>#}
{#</div>#}
{#<style>#}
{# .loader {#}
{# position: relative;#}
{# margin: 0 auto;#}
{# width: 100px;#}
{# &:before {#}
{# content: '';#}
{# display: block;#}
{# padding-top: 100%;#}
{# }#}
{# }#}
{# .circular {#}
{# animation: rotate 2s linear infinite;#}
{# height: 100%;#}
{# transform-origin: center center;#}
{# width: 100%;#}
{# position: absolute;#}
{# top: 0;#}
{# bottom: 0;#}
{# left: 0;#}
{# right: 0;#}
{# margin: auto;#}
{# }#}
{# .path {#}
{# stroke-dasharray: 1, 200;#}
{# stroke-dashoffset: 0;#}
{# animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;#}
{# stroke-linecap: round;#}
{# }#}
{# @keyframes rotate {#}
{# 100% {#}
{# transform: rotate(360deg);#}
{# }#}
{# }#}
{# @keyframes dash {#}
{# 0% {#}
{# stroke-dasharray: 1, 200;#}
{# stroke-dashoffset: 0;#}
{# }#}
{# 50% {#}
{# stroke-dasharray: 89, 200;#}
{# stroke-dashoffset: -35px;#}
{# }#}
{# 100% {#}
{# stroke-dasharray: 89, 200;#}
{# stroke-dashoffset: -124px;#}
{# }#}
{# }#}
{# @keyframes color {#}
{# 100%,#}
{# 0% {#}
{# stroke: #d62d20;#}
{# }#}
{# 40% {#}
{# stroke: #0057e7;#}
{# }#}
{# 66% {#}
{# stroke: #008744;#}
{# }#}
{# 80%,#}
{# 90% {#}
{# stroke: #ffa700;#}
{# }#}
{# }#}
{# #}
{# body {#}
{# background-color: #eee;#}
{# }#}
{# .showbox {#}
{# position: absolute;#}
{# top: 40%;#}
{# left: 0;#}
{# right: 0;#}
{# padding: 5%;#}
{# }#}
{#</style>#}