Generator för spinner i knappar i CSS

Nästa

En spinner inne i en knapp visar att klicket fungerade och att besökaren inte ska trycka igen. Skapa en liten, tunn ring här, kopiera CSS:en och placera den bredvid knappens text.

Så gör du en spinner för knappar

  1. 1

    Använd en liten storlek

    Skriv 16 eller 18 i fältet Storlek (px) så att ringen passar textens höjd i knappen.

  2. 2

    Gör ringen tunn

    Ställ in Tjocklek på 2 så att bågen förblir skarp i den här storleken.

  3. 3

    Matcha färgen

    Välj Färg för den rörliga bågen, till exempel vit på en mörk knapp.

  4. 4

    Öka hastigheten något och kopiera

    Prova 0,8 sekunder per varv och kopiera sedan CSS:en.

Ett arbetsexempel

Anta att du har en mörkblå knapp med texten “Spara” i vitt. I generatorn anger du storlek 16, tjocklek 2, färg #ffffff och hastighet 0,8. Verktyget ger:

.loader {
  width: 16px;
  height: 16px;
  border: 2px solid #eee;
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

Ringens bana är en fast ljusgrå färg som syns bra på en mörk knapp. Vill du ha en mer diskret bana ändrar du #eee till ett genomskinligt värde, till exempel rgba(255, 255, 255, 0.3), i den inklistrade CSS:en. Bågens färg står kvar som du valde den.

Placera den i knappen

Lägg spinner-elementet före etiketten och gör knappen till en flex-rad, så att de sitter på samma linje med ett mellanrum:

<button class="save" type="submit" disabled>
  <span class="loader" role="status" aria-label="Sparar"></span>
  Sparar
</button>
.save {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

Lägg till spinnern och tillståndet disabled först när begäran pågår. Ta bort båda när den är klar. Att inaktivera knappen är det som hindrar dubbla inskickningar, och spinnern är signalen som förklarar varför.

Storlek och tjocklek för knappar

Knapptextens storlek Spinnerns storlek Tjocklek
14 px 14 px 2 px
16 px 16 till 18 px 2 px
18 till 20 px 20 till 24 px 3 px

Anteckningar

  • Generatorn skapar en enda cirkulär ring. Den skapar ingen knapp, så dina knappstilar förblir dina egna.
  • En ring som är tjockare än en fjärdedel av diametern fylls upp och ser ut som en skiva, så håll tunna värden för små storlekar.
  • Behåll etiketten bredvid spinnern. En spinner utan text kan vara svår att tolka för vissa användare.

Undvik layouthopp

Om spinnern visas och knappen plötsligt blir bredare förskjuts layouten och klickytan flyttas. Två enkla lösningar hjälper. Ge knappen en minsta bredd som redan rymmer spinnern och den längre etiketten. Eller reservera utrymmet för spinnern från början genom att visa en tom 16 px platshållare före etiketten. Eftersom den genererade ringen har fast bredd och höjd i pixlar är det lätt att reservera exakt det utrymme den behöver.

Vanliga frågor

Ungefär lika hög som knapptexten, vanligtvis 14 till 20 pixlar. Det hindrar knappen från att växa när spinnern visas.

Ja, i de flesta formulär. Inaktivering förhindrar dubbla inskickningar, och spinnern förklarar för besökaren varför inget annat går att klicka på.

Banan är ljusgrå och bågen är den färg du väljer. På en ljus knapp väljer du en mörkare bågfärg och ändrar banans färg i den inklistrade CSS:en.

Nej. Generatorn skapar bara CSS för ringen. Om du behåller, ändrar eller döljer etiketten avgör din markup.

Relaterade verktyg

Verktyget finns på andra språk

Guider och användningsområden