Generator loaderów CSS
Spinner pokazuje użytkownikowi, że coś się dzieje. Ten generator tworzy jeden okrągły spinner w CSS: ustaw średnicę, grubość obramowania, kolor akcentu i prędkość obrotu, obserwuj podgląd na żywo i skopiuj kod CSS. Wszystko to czysty CSS, bez SVG, bez JavaScriptu i bez zewnętrznych bibliotek.
Jak korzystać z generatora
-
1
Ustaw rozmiar
Średnica spinnera w pikselach. 40-80 px pasuje do większości przycisków i obszarów treści.
-
2
Ustaw grubość obramowania
Pierścień to obramowanie narysowane na kole. Grubsze obramowanie daje wyraźniejszy łuk; 4-8 px wygląda dobrze przy 60 px.
-
3
Wybierz kolor
Kolor akcentu obracającego się łuku. Reszta pierścienia pozostaje jasnoszara, aby łuk się wyróżniał.
-
4
Ustaw prędkość i skopiuj CSS
Czas pełnego obrotu w sekundach. Około 1 sekundy to częsty złoty środek; poniżej 500 ms wygląda gorączkowo, a powyżej 2 s ospale.
Jak działa wygenerowany CSS
.loader {
width: 60px;
height: 60px;
border: 6px solid #eee;
border-top-color: #10b981;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
Spinner to koło narysowane grubym obramowaniem. Reguła border-top-color maluje tylko górną część pierścienia kolorem akcentu, dzięki czemu pierścień wygląda jak łuk, a reguła @keyframes spin obraca go wokół środka. Obrót przez transform: rotate() utrzymuje animację lekką, bo przeglądarka przesuwa element na kompozytorze zamiast rysować go klatka po klatce.
Aby wyświetlić go na stronie, dodaj jeden element i załaduj CSS:
<div class="loader" role="status" aria-label="Ładowanie"></div>
Zadbaj o dostępność
- Dodaj
role="status", aby czytniki ekranu zapowiadały spinner. - Ustaw
aria-labelz tekstem stanu, na przykład “Ładowanie”. - Nie ukrywaj treści za spinnerem dłużej niż kilka sekund bez awaryjnego limitu czasu.
- Szanuj
prefers-reduced-motion. Użytkownikom, którzy wyłączyli animacje, zamiast obrotu pokaż proste wygaszenie lub statyczny tekst “Ładowanie…”:
@media (prefers-reduced-motion: reduce) {
.loader { animation: none; background: currentColor; opacity: .4; }
}
Kiedy używać spinnera, a kiedy optymistycznego UI
- Odpowiedź poniżej 100 ms: spinner zbędny; ludzkie oko ledwie dostrzega opóźnienie.
- 100 ms – 1 s: subtelny spinner (małe kółko, tekst przycisku “Ładowanie…”) zapobiega podwójnym kliknięciom.
- 1 s – 10 s: wyraźny spinner, najlepiej z postępem, jeśli da się go zmierzyć.
- > 10 s: to nie problem spinnera; ustal, co jest wolne, i napraw to.
Przy wysyłaniu formularzy i klikaniu przycisków spinner wewnątrz przycisku zwykle sprawdza się lepiej niż nakładka na całą stronę.
Najczęściej zadawane pytania
CSS do prostych jednoelementowych spinnerów (sztuczka z obracaniem czterech obramowań). SVG, gdy potrzebujesz zwężającej się smugi, wielu animacji stroke-dasharray albo wypełnionych segmentów wyglądających jak pociągnięcia pędzla. CSS jest mniejszy i prostszy; SVG bardziej elastyczny.
Prawdopodobnie dlatego, że obracasz duży element albo animujesz właściwość niekompozytowaną. Utrzymuj mały rozmiar spinnera, używaj transform: rotate() (nie top/margin) i unikaj uruchamiania go, gdy działają inne ciężkie animacje.
Niemal powszechnie zgodnie z ruchem wskazówek zegara. Spinnery obracające się w przeciwną stronę wydają się subtelnie nie tak, bo większość rzeczywistych wskazówek obrotu (zegary, wiatraki) idzie zgodnie z ruchem zegara. Trzymaj się konwencji, chyba że masz konkretny powód.
Za pomocą setTimeout(..., 300) w JavaScripcie, który dodaje klasę loadera, plus clearTimeout, jeśli operacja skończy się wcześniej. Zapobiega migotaniu przy szybkich odpowiedziach, nie ukrywając realnych opóźnień.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator losowych liter
Generuj losowe litery A-Z. Wybierz liczbę, wielkie litery, małe litery lub zapis mieszany i użyj wyniku w grach, zadaniach lub lekcjach.
Konwerter ASCII na binarny
Konwertuj dowolny ciąg ASCII na reprezentację binarną. Każdy znak staje się ośmioma bitami, rozdzielonymi spacjami, gotowymi do wklejenia w ślad protokołu albo zadanie domowe.
Próbnik kolorów HEX
Wybierz lub wpisz kolor HEX i sprawdź RGB, HSL, przybliżone CMYK, luminancję względną oraz kontrast z bielą i czernią.