Generator spinera na przycisku w CSS

Dalej

Spinner wewnątrz przycisku informuje, że kliknięcie zadziałało i że nie trzeba klikać ponownie. Wygeneruj tutaj mały, cienki pierścień, skopiuj CSS i umieść go obok etykiety przycisku.

Jak zrobić spinner do przycisku

  1. 1

    Użyj małego rozmiaru

    Wpisz 16 lub 18 w polu Rozmiar (px), aby pierścień pasował do wysokości tekstu na przycisku.

  2. 2

    Zrób cienki pierścień

    Ustaw Grubość na 2, aby łuk pozostał ostry przy tym rozmiarze.

  3. 3

    Dopasuj kolor

    Wybierz Kolor poruszającego się łuku, na przykład biały na ciemnym przycisku.

  4. 4

    Przyspiesz nieco i skopiuj

    Spróbuj 0,8 sekundy na jeden obrót, a następnie skopiuj CSS.

Przykład krok po kroku

Załóżmy, że masz ciemnoniebieski przycisk „Zapisz” z białym tekstem. W generatorze wpisz rozmiar 16, grubość 2, kolor #ffffff i prędkość 0,8. Narzędzie wygeneruje:

.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); }
}

Tor pierścienia ma stały, jasnoszary kolor, który dobrze widać na ciemnym przycisku. Jeśli chcesz subtelniejszy tor, zmień #eee na wartość półprzezroczystą, na przykład rgba(255, 255, 255, 0.3), we wklejonym CSS. Kolor łuku pozostaje taki, jaki wybrałeś.

Umieszczenie wewnątrz przycisku

Umieść element spinera przed etykietą i zrób z przycisku wiersz flex, aby oba elementy były w jednej linii z odstępem:

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

Dodawaj spinner i stan disabled tylko wtedy, gdy żądanie trwa. Usuń oba po zakończeniu. To wyłączenie przycisku zapobiega podwójnemu wysłaniu formularza, a spinner wyjaśnia, dlaczego.

Rozmiar i grubość dla przycisków

Rozmiar tekstu na przycisku Rozmiar spinera Grubość
14 px 14 px 2 px
16 px 16 do 18 px 2 px
18 do 20 px 20 do 24 px 3 px

Uwagi

  • Generator tworzy jeden okrągły pierścień. Nie tworzy przycisku, więc style przycisku pozostają Twoje.
  • Pierścień grubszy niż jedna czwarta średnicy wypełnia się i wygląda jak krążek, dlatego przy małych rozmiarach trzymaj cienkie wartości.
  • Zachowaj etykietę obok spinera. Spinner bez tekstu bywa trudny do zrozumienia dla niektórych użytkowników.

Unikaj przesunięć układu

Jeśli spinner się pojawi, a przycisk nagle się poszerzy, układ się przesunie i zmieni się miejsce klikania. Pomogą dwa proste sposoby. Nadaj przyciskowi minimalną szerokość, która pomieści spinner i dłuższą etykietę. Albo zarezerwuj miejsce na spinner od początku, pokazując pusty placeholder 16 px przed etykietą. Ponieważ wygenerowany pierścień ma stałą szerokość i wysokość w pikselach, łatwo zarezerwować dokładnie tyle miejsca, ile potrzebuje.

Najczęściej zadawane pytania

Mniej więcej tak wysoki jak tekst przycisku, zwykle 14 do 20 pikseli. Dzięki temu przycisk nie powiększa się po pojawieniu się spinera.

W większości formularzy tak. Wyłączenie zapobiega podwójnemu wysłaniu, a spinner wyjaśnia odwiedzającemu, dlaczego nic innego nie można kliknąć.

Tor jest jasnoszary, a łuk ma kolor, który wybierasz. Na jasnym przycisku wybierz ciemniejszy kolor łuku i zmień kolor toru we wklejonym CSS.

Nie. Generator tworzy tylko CSS pierścienia. To, czy zachowasz, zmienisz lub ukryjesz etykietę, zależy od Twoich znaczników.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach

Poradniki i zastosowania