Aby stworzyć animację wczytywania (tzw. „loading animation”) w CSS, możesz skorzystać z animacji kluczowych (keyframes) oraz odpowiednich właściwości CSS, takich jak transform czy opacity. Przykład prostego kółka wczytywania (spinnera) może wyglądać tak:
Przykład 1: Animacja obracającego się kółka (spinner)
HTML:
<div class="spinner"></div>
CSS:
.spinner {
width: 50px;
height: 50px;
border: 8px solid #f3f3f3; /* Lekki kolor na zewnątrz */
border-top: 8px solid #3498db; /* Mocniejszy kolor na górze */
border-radius: 50%; /* Aby stworzyć kształt kółka */
animation: spin 2s linear infinite; /* Zastosowanie animacji */
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
Tak będzie to wyglądać:
Jak to działa:
.spinner: To div, który ma szerokość, wysokość oraz krawędzie (border) ustawione w taki sposób, aby wyglądał jak kółko.@keyframes spin: Definiuje animację, w której element obraca się od 0 do 360 stopni. Animacja trwa 2 sekundy i powtarza się w nieskończoność.border-radius: 50%: Ustawienie tego stylu tworzy okrągły kształt.
Przykład 2: Kropki migające jedna po drugiej
HTML:
<div class="loading-dots"> <div class="dot"></div> <div class="dot"></div> <div class="dot"></div> </div>
CSS:
.loading-dots {
display: flex;
justify-content: space-around;
width: 100px;
}
.dot {
width: 15px;
height: 15px;
background-color: #3498db;
border-radius: 50%;
animation: bounce 1.5s infinite ease-in-out;
}
.dot:nth-child(2) {
animation-delay: 0.3s;
}
.dot:nth-child(3) {
animation-delay: 0.6s;
}
@keyframes bounce {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-15px);
}
}
Wygląd animacji:
Jak to działa:
.loading-dots: To kontener, który zawiera trzy kropki.display: flexorazjustify-content: space-aroundsprawiają, że kropki są rozmieszczone równomiernie..dot: Każda kropka jest okrągłym elementem, dziękiborder-radius: 50%.@keyframes bounce: Animacja powoduje, że kropki podskakują w górę i w dół.animation-delay: Każda kropka zaczyna animację z opóźnieniem, co daje efekt „przechodzącego” ruchu.