CSS-loadergenerator
Een spinner laat de gebruiker zien dat er iets gebeurt. Deze generator maakt één cirkelvormige CSS-spinner: stel de diameter, de randdikte, de accentkleur en de rotatiesnelheid in, bekijk het live voorbeeld en kopieer de CSS. Alles is pure CSS, zonder SVG, zonder JavaScript en zonder externe bibliotheken.
Zo gebruik je de generator
-
1
Stel de grootte in
Diameter van de spinner in pixels. 40-80 px past bij de meeste knoppen en inhoudsgebieden.
-
2
Stel de randdikte in
De ring is een rand die op een cirkel wordt getekend. Een dikkere rand geeft een krachtigere boog; 4-8 px staat goed bij 60 px.
-
3
Kies de kleur
De accentkleur van de draaiende boog. De rest van de ring blijft lichtgrijs, zodat de boog opvalt.
-
4
Stel de snelheid in en kopieer de CSS
Tijd per volledige omwenteling in seconden. Rond 1 seconde is meestal ideaal; onder 500 ms voelt het gehaast, boven 2 s traag.
Hoe de gegenereerde CSS werkt
.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); }
}
De spinner is een cirkel die met een dikke rand wordt getekend. De regel border-top-color kleurt alleen de bovenkant van de ring met de accentkleur, zodat de ring als een boog leest, en de regel @keyframes spin draait hem om zijn middelpunt. Draaien met transform: rotate() houdt de animatie goedkoop, omdat de browser het element op de compositor beweegt in plaats van het beeld voor beeld opnieuw te tekenen.
Om hem op een pagina te tonen, voeg je één element toe en laad je de CSS:
<div class="loader" role="status" aria-label="Laden"></div>
Maak hem toegankelijk
- Voeg
role="status"toe, zodat schermlezers de spinner aankondigen. - Zet
aria-labelmet de statustekst, bijvoorbeeld “Laden”. - Verberg inhoud niet langer dan een paar seconden achter een spinner zonder een fallback bij time-out.
- Respecteer
prefers-reduced-motion. Vervang de draaianimatie voor gebruikers die hem uit hebben gezet door een eenvoudige fade of een statische tekst “Laden…”:
@media (prefers-reduced-motion: reduce) {
.loader { animation: none; background: currentColor; opacity: .4; }
}
Wanneer een spinner gebruiken en wanneer een optimistische UI
- Reactie onder 100 ms: geen spinner nodig; het menselijk oog merkt de vertraging nauwelijks.
- 100 ms – 1 s: een subtiele spinner (klein cirkeltje, knoptekst “Laden…”) voorkomt dubbelklikken.
- 1 s – 10 s: een duidelijke spinner, bij voorkeur met voortgang als die meetbaar is.
- > 10 s: dit is geen spinnerprobleem; zoek uit wat traag is en los dat op.
Bij het versturen van formulieren en het klikken op knoppen is een spinner in de knop meestal beter dan een overlay over de hele pagina.
Veelgestelde vragen
CSS voor eenvoudige spinners met één element (de rotatietruc met vier randen). SVG wanneer je een taps toelopende staart, meerdere stroke-dasharray-animaties of gevulde segmenten wilt die op penseelstreken lijken. CSS is kleiner en eenvoudiger; SVG is flexibeler.
Waarschijnlijk omdat je een groot element laat draaien of een niet-composietbare eigenschap animeert. Houd de spinner klein, gebruik transform: rotate() (niet top/margin) en start hem niet terwijl er andere zware animaties lopen.
Vrijwel altijd met de klok mee. Tegen de klok in voelt subtiel verkeerd, omdat de meeste echte rotatiereferenties (klokken, windmolens) met de klok mee gaan. Houd je aan de conventie, tenzij je een specifieke reden hebt.
Met een setTimeout(..., 300) in JavaScript die de loaderklasse toevoegt, plus een clearTimeout als de bewerking eerder klaar is. Dit voorkomt geflikker bij snelle reacties zonder echte vertragingen te verbergen.
Gerelateerde tools
JSON naar PHP-array
Zet JSON om naar een PHP-array-literal met korte syntaxis, associatieve/geïndexeerde arrays en geneste structuren, klaar om in een .php-bestand te plakken.
Luhn-algoritme-checker
Controleer de creditcardnummer, IMEI, SIN en andere door Luhn beschermden nummers. Geef een resultaat terug (goed of fout) en toon elke stap van het verdubbelen en het berekenen van de controlesom aan.
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
SVG-golfgenerator
Genereer een vloeiende SVG-golfscheiding voor headers en footers met instelbare amplitude, frequentie, kleur en positie boven of onder. Kopieer de SVG-code.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
Tool beschikbaar in andere talen
- CSS 로딩 애니메이션 생성기 [KO]
- Generador de Cargadores CSS [ES]
- CSSローディングアニメーション生成ツール [JA]
- เครื่องมือสร้าง CSS Loader [TH]
- مولّد مؤشرات التحميل بلغة CSS [AR]
- CSS-Loader-Generator [DE]
- Générateur de chargeur CSS [FR]
- Generator Loader CSS [ID]
- CSS-laddningsgenerator [SV]
- Generator loaderów CSS [PL]
- Trình tạo CSS Loader [VI]
- Gerador de Loader CSS [PT]
- CSS Yükleyici Oluşturucu [TR]
- CSS 加载动画生成器 [ZH]
- CSS Loader Generator [EN]
- Generatore di Loader CSS [IT]
- Генератор CSS-загрузчиков [RU]