67 lines
1.5 KiB
CSS
67 lines
1.5 KiB
CSS
/* Overlay loader (css pris du site https://css-loaders.com/)*/
|
|
#loader-overlay {
|
|
position: fixed;
|
|
top: 0; left: 0;
|
|
width: 100%; height: 100%;
|
|
background: linear-gradient(
|
|
rgba(10, 20, 60, 0.2),
|
|
rgba(0, 0, 0, 0.4)
|
|
);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 9999;
|
|
font-family: 'Roboto', sans-serif;
|
|
opacity: 0;
|
|
backdrop-filter: blur(0px);
|
|
pointer-events: none;
|
|
transition: opacity 0.5s ease, backdrop-filter 0.5s ease;
|
|
}
|
|
#loader-overlay.active {
|
|
opacity: 1;
|
|
backdrop-filter: blur(3px);
|
|
pointer-events: all;
|
|
}
|
|
#loader-overlay.hidden {
|
|
display: none;
|
|
}
|
|
|
|
/* Spinner wrapper (fade/slide) */
|
|
.loader-spin-wrap {
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
transition: opacity 0.5s ease, transform 0.5s ease;
|
|
transition-delay: 0.5s; /* apparaît après 0.5s */
|
|
}
|
|
#loader-overlay.active .loader-spin-wrap {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
/* Spinner circulaire */
|
|
.loader-spin {
|
|
width: 50px;
|
|
aspect-ratio: 1;
|
|
border-radius: 50%;
|
|
mask:1;
|
|
background:
|
|
radial-gradient(farthest-side,darkblue 94%,transparent) top/8px 8px no-repeat,
|
|
conic-gradient(transparent 30%,darkblue);
|
|
-webkit-mask: radial-gradient(farthest-side,transparent calc(100% - 8px),#000 0);
|
|
animation: l13 1s infinite linear;
|
|
}
|
|
@keyframes l13 {
|
|
100% { transform: rotate(1turn); }
|
|
}
|
|
|
|
/* Erreur */
|
|
#error-message {
|
|
display: none;
|
|
color: red;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
margin-top: 20px;
|
|
white-space: pre-line;
|
|
}
|