CSS3 Lade-Spinner

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich habe ein kleines CSS3 Rotate-Y Lade-Grafik-Ding nur so zum Spaß gemacht. Hier ist ein animiertes GIF des Ruhmes, wie es in WebKit erscheint.

Theorien bei der Arbeit

  • Zwei Kreise übereinander. Einer erstellt durch ein Pseudoelement.
  • Der Pseudo-Kreis sitzt darunter mit negativem z-index.
  • Der Pseudo-Kreis hat einen abgerundeten inneren Schatten (inset box-shadow).
  • Der normale Kreis hat einen normalen Schatten (box-shadow).
  • "Laden..." ist ein starkes Tag mit verstecktem Überlauf (hidden overflow).
  • Die Breite des Strong-Tags ist eine animierte Keyframe, die die Anzeige unendlich oft durchführt.
  • Der Text wird vertikal zentriert, indem die line-height gleich der height gesetzt wird.
  • Der Spinner ist ein Dreieck, das über dem Pseudo-Kreis, aber unter dem normalen Kreis mit z-index platziert ist.
  • Das Dreieck wird von seiner Spitze aus gedreht, indem sein -webkit-transform-origin geändert wird.
  • Das Dreieck wird durch Keyframe-Animation von 0 auf 360 Grad unendlich oft animiert.

Idealerweise wäre das Dreieck ebenfalls ein Pseudoelement, aber leider ist es ein <span>. Pseudoelemente können (noch) nicht animiert werden. Firefox 4 kann sie überblenden (transition), aber Firefox 4 kann keine Keyframe-Animationen (noch).

Demo ansehen