Hover Interactions

dylantarre/animation-principles/skills/05-by-animation-type/hover-interactions

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

Use when creating mouse hover effects - button highlights, card lifts, link underlines, image zooms, or any pointer-triggered animation.

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

依迪士尼 12 項動畫原則說明滑鼠懸停動畫設計,包含時間參數表與 CSS 實作模式。

功能
說明如何將迪士尼 12 項動畫原則套用於滑鼠懸停狀態,涵蓋擠壓與伸展、預備動作、舞台調度、跟隨動作、緩動與次要動作。它提供顏色變化、縮放、陰影、底線繪製、圖片縮放與圖示位移等效果的時間建議,並提供卡片抬升、由中心向外繪製底線以及圖示移動的 CSS 實作模式。此外也列出回應速度、避免誤點擊以及將懸停效果限定於指標裝置等規則。
適用情境
適用於建立或調整由指標觸發的懸停效果,例如按鈕高亮、卡片抬升、連結底線或圖片縮放。也適合在選擇懸停進入與離開的時長和緩動曲線,或確保懸停行為在觸控裝置上正確降級時使用。
執行需求
不需要指令碼或工具,僅為說明性內容。代理不需要套件、憑證或網路存取。

Hover Interaction Animations

Apply Disney's 12 principles to mouse hover states.

Principle Application

Squash & Stretch: Cards can subtly scale (1.02-1.05) on hover, creating "lift" effect.

Anticipation: Hover IS anticipation for click. The hover state previews the interaction.

Staging: Hover effects should highlight the interactive element, not distract from it.

Straight Ahead vs Pose-to-Pose: Define rest and hover poses precisely. Transition smoothly between them.

Follow Through & Overlapping: Child elements animate after parent. Card lifts, then shadow expands.

Slow In/Slow Out: Hover-in: ease-out (fast response). Hover-out: ease-in-out (graceful return).

Arcs: Underlines can draw from center outward. Highlights sweep in curved paths.

Secondary Action: Combine multiple subtle effects. Scale + shadow + color shift together.

Timing:

  • Hover response: 150-200ms (must feel responsive)
  • Hover exit: 200-300ms (can be slightly slower)
  • Never exceed 300ms for hover-in

Exaggeration: Subtle - hover is preview, not performance. Scale max 1.05, shadow max +8px.

Solid Drawing: Hover states must feel like the same element elevated, not a replacement.

Appeal: Hover should invite clicking. Create anticipation without demanding action.

Timing Recommendations

Hover EffectHover-InHover-OutEasing
Color Change150ms200msease-out / ease-in-out
Scale/Lift200ms250msease-out / ease-in-out
Shadow200ms250msease-out / ease-in-out
Underline Draw200ms200msease-out
Image Zoom300ms400msease-out
Icon Shift150ms200msease-out

Implementation Patterns

css
/* Card lift with shadow */.card {  transition: transform 200ms ease-out, box-shadow 200ms ease-out;}
.card:hover {  transform: translateY(-4px) scale(1.02);  box-shadow: 0 12px 24px rgba(0,0,0,0.15);}
/* Slower return */.card:not(:hover) {  transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out;}
/* Underline draw from center */.link {  position: relative;}
.link::after {  content: '';  position: absolute;  bottom: 0;  left: 50%;  width: 0;  height: 2px;  background: currentColor;  transition: width 200ms ease-out, left 200ms ease-out;}
.link:hover::after {  width: 100%;  left: 0;}

Icon Animation Pattern

css
.button-icon {  transition: transform 150ms ease-out;}
.button:hover .button-icon {  transform: translateX(4px);}
/* Arrow grows */.arrow-icon {  transition: transform 150ms ease-out;}
.link:hover .arrow-icon {  transform: translateX(4px) scale(1.1);}

Key Rules

  1. Touch devices don't have hover - ensure functionality without it
  2. Hover-in must be under 200ms to feel responsive
  3. Don't move elements enough to cause mis-clicks
  4. Test with @media (hover: hover) to scope to pointer devices
  5. Combine max 3 properties to avoid overwhelming
css
@media (hover: hover) {  .card:hover { /* hover effects */ }}

來源與署名

來源:dylantarre/animation-principles位於skills/05-by-animation-type/hover-interactions提交8359713

授權條款: 無授權條款

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

檢舉或申請下架