Loaders Spinners

dylantarre/animation-principles/skills/07-by-ui-element/loaders-spinners

作者 dylantarre83597134ba8f無授權條款99 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫9 個月前更新

Use when creating loading indicators, spinners, progress bars, or skeleton screens to communicate system status

僅含說明Design & Creative
AI 產生的概覽

運用動畫原則指導載入指示器、旋轉圖示、進度條與骨架畫面的設計。

功能
這項技能為載入指示器提供設計指引,涵蓋旋轉圖示、彈跳圓點、進度條和骨架畫面。它把迪士尼十二項動畫原則對應到載入動效上,給出旋轉、彈跳、微光與錯開的時長範圍,並提供旋轉、彈跳和微光效果的 CSS 片段。產出是用于建構或改進這些指示器的概念與程式碼層面指引。
適用情境
在建立或改進載入指示器、旋轉圖示、進度條或骨架畫面時使用。適用於需要讓等待狀態傳達系統狀態、並顯得更有吸引力或更符合品牌調性的情境。
執行需求
不需要指令碼或工具,僅為說明性內容。套用其中的 CSS 範例需要專案支援 CSS 或 SVG 動畫。

Loader & Spinner Animation Principles

Apply Disney's 12 principles to loading indicators for engaging, informative wait experiences.

Principles Applied to Loaders

1. Squash & Stretch

Bouncing dot loaders should squash on landing, stretch while rising. Creates life-like, playful motion.

2. Anticipation

Before progress completes, bar can briefly pause or slow. Spinners can decelerate before stopping. Signals completion coming.

3. Staging

Loader should be clearly visible but not block content unnecessarily. Skeleton screens stage where real content will appear.

4. Straight Ahead & Pose to Pose

Organic loaders (bouncing dots) benefit from straight-ahead. Progress bars use pose-to-pose (0% to 100% keyframes).

5. Follow Through & Overlapping Action

Multi-part loaders should have elements offset in timing. Dot 1 bounces, dot 2 follows 100ms later. Creates rhythm.

6. Ease In & Ease Out

Spinning: use ease-in-out per rotation cycle or linear for continuous. Bouncing: ease-in up, ease-out down.

7. Arcs

Orbital loaders should follow true circular arcs. Bouncing elements follow parabolic arcs like real physics.

8. Secondary Action

While spinner rotates (primary), glow pulses (secondary). Skeleton shimmer is secondary to skeleton shape.

9. Timing

  • Spinner full rotation: 800-1200ms
  • Bounce cycle: 500-800ms
  • Skeleton shimmer: 1500-2500ms
  • Progress bar smooth updates: 200ms
  • Dot stagger: 100-150ms
  • Pulse: 1000-2000ms

10. Exaggeration

Playful brands can use bouncy, elastic loaders. Professional contexts need subtle, smooth spinners. Match brand energy.

11. Solid Drawing

Maintain consistent stroke widths. Circular paths should be true circles. Progress bars should fill evenly.

12. Appeal

Engaging loaders reduce perceived wait time. Boring spinners feel slower. A delightful loader can turn frustration into momentary joy.

CSS Implementation

css
.spinner {  animation: spin 1000ms linear infinite;}
@keyframes spin {  to { transform: rotate(360deg); }}
.bounce-dot {  animation: bounce 600ms ease-in-out infinite alternate;}
.bounce-dot:nth-child(2) { animation-delay: 100ms; }.bounce-dot:nth-child(3) { animation-delay: 200ms; }
@keyframes bounce {  from { transform: translateY(0) scaleY(1); }  to { transform: translateY(-20px) scaleY(0.9); }}
.skeleton {  background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);  background-size: 200% 100%;  animation: shimmer 2000ms infinite;}
@keyframes shimmer {  to { background-position: -200% 0; }}

Key Properties

  • transform: rotate, translateY, scale
  • animation: infinite loops
  • background-position: shimmer effects
  • stroke-dashoffset: SVG spinners
  • opacity: pulsing effects

來源與署名

來源:dylantarre/animation-principles位於skills/07-by-ui-element/loaders-spinners提交8359713

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架