Buton İçin CSS Spinner Oluşturucu

Sonraki

Bir butonun içindeki spinner, tıklamanın çalıştığını ve tekrar basılmaması gerektiğini gösterir. Burada küçük, ince bir halka oluşturun, CSS kodunu kopyalayın ve butonun etiketinin yanına yerleştirin.

Buton spinner’ı nasıl yapılır

  1. 1

    Küçük bir boyut kullanın

    Halkanın buton metninin yüksekliğine uyması için Boyut (px) alanına 16 veya 18 yazın.

  2. 2

    Halkayı ince yapın

    Bu boyutta yayın keskin kalması için Kalınlık değerini 2 yapın.

  3. 3

    Rengi eşleştirin

    Hareketli yayın Renk değerini seçin, örneğin koyu bir butonda beyaz.

  4. 4

    Hafifçe hızlandırın ve kopyalayın

    Tur başına 0,8 saniye deneyin, ardından CSS kodunu kopyalayın.

Çalışılmış bir örnek

Beyaz yazılı koyu mavi bir “Kaydet” butonunuz olduğunu varsayalım. Oluşturucuda boyut 16, kalınlık 2, renk #ffffff ve hız 0,8 girin. Araç şunu üretir:

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

Halkanın izi sabit, açık gri bir renktir ve koyu bir butonda iyi görünür. Daha silik bir iz isterseniz kopyaladığınız CSS’te #eee değerini rgba(255, 255, 255, 0.3) gibi yarı saydam bir değerle değiştirin. Yay rengi, seçtiğiniz renk olarak kalır.

Spinner’ı butonun içine yerleştirin

Spinner öğesini etiketten önce koyun ve butonu bir flex satırına çevirerek ikisinin aralarında boşlukla tek satırda durmasını sağlayın:

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

Spinner’ı ve disabled durumunu yalnızca istek çalışırken ekleyin. İstek bittiğinde ikisini de kaldırın. Butonu devre dışı bırakmak tekrarlanan gönderimleri önler; spinner ise bunun nedenini açıklayan sinyaldir.

Buton için boyut ve kalınlık

Buton metni boyutu Spinner boyutu Kalınlık
14 px 14 px 2 px
16 px 16 ila 18 px 2 px
18 ila 20 px 20 ila 24 px 3 px

Notlar

  • Oluşturucu tek bir dairesel halka üretir. Buton oluşturmaz; bu yüzden buton stilleriniz size aittir.
  • Çapının dörtte birinden kalın bir halka dolar ve bir diske benzer; bu yüzden küçük boyutlarda ince değerler kullanın.
  • Etiketi spinner’ın yanında tutun. Metni olmayan bir spinner bazı kullanıcılar için yorumlanması zor olabilir.

Yerleşim sıçramalarından kaçının

Spinner belirdiğinde buton aniden genişlerse yerleşim kayar ve tıklama alanı yer değiştirir. İki kolay çözüm yardımcı olur. Butona, spinner’a ve daha uzun etikete yetecek bir minimum genişlik verin. Ya da spinner’ı etiketten önce boş bir 16 px yer tutucu göstererek alanı baştan ayırın. Oluşturulan halka piksel cinsinden sabit genişlik ve yüksekliğe sahip olduğu için ihtiyaç duyduğu alanı tam olarak ayırmak kolaydır.

Sık Sorulan Sorular

Genellikle buton metninin yüksekliği kadar, yaklaşık 14 ila 20 piksel. Bu, spinner belirdiğinde butonun büyümesini önler.

Çoğu formda evet. Devre dışı bırakmak tekrarlanan gönderimleri önler ve spinner, ziyaretçiye başka hiçbir şeye neden tıklanamadığını açıklar.

İz açık gridir ve yay, seçtiğiniz renktir. Açık bir butonda daha koyu bir yay rengi seçin ve kopyaladığınız CSS’te iz rengini değiştirin.

Hayır. Oluşturucu yalnızca halkanın CSS’ini üretir. Etiketi tutup değiştirmek veya gizlemek işaretlemenize bağlıdır.

İlgili Araçlar

Araç diğer dillerde mevcuttur

Rehberler ve kullanım örnekleri