為什麼微互動很重要?
想象一下:
你按下一個按鈕,什麼反饋都沒有。頁面沒動靜。你不確定有沒有按到,再按一次,結果送出了兩次表單。
再想象另一種情況:
你按下同一個按鈕,按鈕顏色輕微變深(表示被按了),然後出現一個轉圈圈動畫(告訴你「正在處理」),最後出現一個勾勾和「送出成功!」的訊息。
第二個版本,你完全不需要猜測發生了什麼。你感覺到這個系統在「回應你」。
這就是微互動(Micro-interactions)的本質:用小小的動態反饋,建立使用者和介面之間的溝通感。
微互動的 4 個組成要素
觸發器(Trigger): 什麼動作啟動了這個互動?
例:按下按鈕、鼠標懸停(Hover)、表單填寫完成
規則(Rules): 觸發後會發生什麼?
例:按鈕顏色變化、動畫播放、訊息顯示
反饋(Feedback): 讓使用者知道發生了什麼
例:視覺動畫、文字提示、震動(手機)
循環和模式(Loops & Modes): 互動結束後怎辦?是否重複?
例:成功後 2 秒恢復原狀、錯誤了閃紅色提示
常見的微互動應用場景
按鈕互動狀態
一個設計完整的按鈕有 5 個狀態:
Default:一般狀態
Hover:鼠標移入,顏色略變
Active:按下去的瞬間,有輕微「凹陷感」
Loading:等待中,按鈕變灰 + 轉圈動畫
Success / Error:操作結果
很多台灣網站的按鈕只有 Default 狀態,缺少其他反饋,使用體驗是有缺陷的。
表單驗證的即時反饋
壞的方式: 使用者填完整個表單按送出,才統一跳出錯誤訊息
好的方式: 每個欄位失去焦點(使用者移到下一欄)時,立即驗證並給出反饋——格式正確顯示綠色勾勾,格式錯誤立刻顯示錯誤說明
即時反饋讓修正的成本更低,使用者不需要回頭重新找哪裡填錯了。
載入狀態
頁面或資料在載入時,不應該讓使用者面對空白:
骨架螢幕(Skeleton Screen): 用形狀輪廓佔位,等真實內容載入後替換
進度指示器: 頂部的細長進度條,讓使用者知道頁面還在載入
讀取動畫: 轉圈圈或 loading dots——比完全空白的體驗好很多
滾動觸發動畫
頁面捲動時,元素從下方淡入——這是現代品牌官網非常普遍的視覺設計。
做好了讓頁面有質感和節奏感;但過度使用(每個元素都要動)反而讓人眼花繚亂,也可能影響效能。
設計原則: 動畫要有意義(引導注意力、強調重點),而不是為了動而動。
Hover 效果
桌機版的 Hover 效果(鼠標移入時的輕微變化)是一個低成本、高效益的微互動:
- 服務卡片 Hover 時輕微上升 + 陰影加深
- 圖片 Hover 時出現半透明遮罩和文字說明
- 連結 Hover 時底線從左滑出
這些細節讓頁面從「靜態展示」變成「互動體驗」。
微互動的設計原則
① 有目的,不是裝飾
每個動畫效果都應該有功能性的意義:傳遞狀態、引導注意力、提供反饋。純裝飾性的動畫如果過多,只會分散注意力。
② 速度要對
大多數 UI 動畫的時長建議:
- 簡單的 Hover/Active 反饋:100–200ms(太快感覺不到,太慢覺得拖)
- 頁面元素進入動畫:300–500ms
- 較複雜的動畫:最多 800ms(超過 1 秒的 UI 動畫通常感覺很慢)
③ 動畫曲線(Easing)
線性(linear)的動畫看起來機械感,加入 ease-in-out(先慢後快再慢)讓動畫更自然。
CSS 的 transition: all 0.3s ease-in-out 是最常用的基礎設定。
④ 尊重使用者偏好(prefers-reduced-motion)
部分使用者(包括有前庭障礙、癲癇風險的使用者)可能在系統中設定「減少動畫」。
在 CSS 中加入:
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}
讓你的網站可以尊重這個系統設定,同時也是無障礙設計的要求。