別稱 Collapse, Disclosure, Expandable section
切換標題時,內容面板平順地展開到完整高度,或收合到零。
在[套用位置]加入「手風琴展開收合」(Accordion Expand-Collapse) 效果,也叫摺疊面板 (collapse) 或展開區 (disclosure)。
點擊標題時,面板平順地展開到內容的完整高度,再點一次就完全收合,標題上的箭頭也跟著旋轉:快速、流暢,不要回彈。
依內容的實際高度做動畫,不要寫死一個估計值;標題要用真正的按鈕並標示展開狀態,而且要能用鍵盤操作。
一層半透明的深色遮罩在浮層後方淡入,讓頁面變暗。
在[套用位置]加入「背景遮罩淡入」(Backdrop Scrim Fade),也叫浮層淡入 (overlay fade) 或遮罩 (scrim)。
浮層開啟時,一層半透明的深色遮罩在後方頁面上柔和地淡入,比浮層本身稍慢一點;關閉時再淡出。
不論淺色或深色主題,遮罩都維持深色;遮罩顯示期間,後方頁面不能捲動,也不能接收點擊。
面板從底部邊緣向上滑出,通常可以拖曳,並吸附到幾個固定高度。
在[套用位置]加入「底部面板上滑」(Bottom Sheet Slide-Up),也叫底部抽屜 (bottom drawer) 或面板 (sheet)。
面板從底部邊緣向上滑出,同時後方頁面變暗,平順減速停到定位,不要回彈。
每次開啟面板都播放一次,關閉時再滑回下方;面板開啟期間,鍵盤焦點要留在面板內。
別稱 Fade slideshow, Carousel fade
投影片停在原處,彼此交叉淡化切換,而不是滑動。
在[套用位置]加入「輪播交叉淡化」(Carousel Crossfade),也叫淡入淡出投影片 (fade slideshow) 或輪播淡化 (carousel fade)。
投影片停在原處,緩慢地交叉淡化:舊的一張淡出的同時,下一張淡入,接著停留幾秒再換到下一張。
無縫循環回到第一張,滑鼠懸停或取得焦點時暫停;如果使用者開啟了「減少動態效果」(prefers-reduced-motion),不要自動切換。
別稱 Slider, Swipe carousel, Scroll-snap carousel
投影片在可視區域內水平移動,每次吸附一張到定位。
在[套用位置]加入「輪播滑動」(Carousel Slide),也叫滑桿 (slider) 或滑動輪播 (swipe carousel)。
每一步都讓整排橫向滑動,使下一張投影片吸附到中間,平順減速;兩側邊緣露出相鄰的投影片,位置圓點也跟著變化。
每次只移動一張,除了按鈕和方向鍵,也支援觸控滑動,並替控制項加上給螢幕閱讀器讀取的標籤。
別稱 Card expand to detail, Expandable card, Morph card to page
卡片展開成完整的詳細畫面,始終是同一個可見容器在改變形狀並顯示新內容。
在[套用位置]加入「容器轉換」(Container Transform) 轉場,也叫卡片展開到詳細頁 (card expand to detail) 或可展開卡片 (expandable card)。
開啟卡片時,同一個容器平順地擴展成完整的詳細畫面:舊內容迅速淡出,容器快要展開完時新內容再淡入;關閉時反向播放。
始終維持一個連續的容器,而不是在兩個獨立的方框之間交叉淡化;開啟後把焦點移到詳細畫面裡。
別稱 Reorder, Sortable list
拖曳某一項時,其他項目滑開讓位,並依新的順序排好。
在[套用位置]加入「拖曳排序清單」(Drag-to-Reorder List),也叫可排序清單 (sortable list)。
被拖曳的項目直接跟著游標並微微浮起,其他項目平順地滑開讓位;放開後,它迅速落入最近的位置。
同時支援觸控和滑鼠,並提供用鍵盤移動項目的方式,把新位置報讀給螢幕閱讀器。
別稱 Off-canvas, Side sheet, Slide-over, Navigation drawer
側邊面板從左、右或頂部邊緣滑入,推開或覆蓋頁面內容。
在[套用位置]加入「抽屜滑動」(Drawer Slide),也叫畫布外選單 (off-canvas) 或側邊面板 (side sheet)。
面板從側邊滑入並覆蓋在內容上方,同時後方頁面變暗,速度快、平順減速;關閉時用同樣的方式滑出。
抽屜開啟時把鍵盤焦點留在裡面,可以用 Escape 鍵或點擊變暗區域關閉,關閉後把焦點還給開啟它的按鈕。
別稱 Layout animation, First-Last-Invert-Play
版面變動後,元素平順地移動到新的位置和尺寸。
在[套用位置]加入「FLIP 版面動畫」(FLIP Layout Animation),也叫版面動畫 (layout animation) 或 First-Last-Invert-Play。
版面變動時,每個元素從舊位置平順移動到新位置,而不是直接跳過去:一開始快,最後輕柔地定位。
只用 transform 做動畫,避免頁面每一格都重新排版;如果使用者開啟了「減少動態效果」(prefers-reduced-motion),就直接切換到新版面。
別稱 AnimatePresence, TransitionGroup, Animated list
清單項目新增時淡入並滑入,刪除時以動畫退場,相鄰項目隨之補上空位。
在[套用位置]加入「清單項目進出場」(List Item Enter/Exit) 動畫,也叫動畫清單 (animated list)。
新項目先撐開自己的空間,再淡入並滑入;被刪除的項目先淡出,再收合高度,讓相鄰項目平順地補上空位。
被刪除的項目要等退場動畫結束後才移除,這樣新增或刪除項目時清單才不會跳動。
別稱 Ticker, Infinite Scroll Text
一行內容橫向無縫地無限循環捲動。
適用情境
Logo 牆、公告列、關鍵字橫幅和新聞跑馬燈
在[套用位置]加入「跑馬燈」(Marquee),也就是水平方向無限捲動的橫條,也叫 ticker。
內容由右往左以緩慢、等速的速度捲動,無縫循環,銜接處不能出現跳動。
滑鼠移上去時暫停;如果使用者開啟了「減少動態效果」(prefers-reduced-motion),就停止捲動。
別稱 Isotope filter, Filterable grid animation
套用篩選或排序時,網格中的方塊重新排列、淡出或滑到新的位置。
在[套用位置]加入「網格重排」(Masonry / Grid Shuffle) 效果,也叫可篩選網格動畫 (filterable grid animation)。
套用篩選時,不再符合的方塊在原地縮小並淡出,其餘方塊平順地滑到新位置;清除篩選時反向播放。
網格高度變化時不要讓周圍頁面跳動;篩選控制項要用真正的按鈕,並標示目前選取的是哪個篩選。
別稱 Dialog open animation, Zoom-fade dialog
對話框在變暗的頁面上方,從中心稍微放大並淡入。
在[套用位置]加入「對話框縮放淡入」(Modal Scale-Fade In) 動畫,也叫對話框開啟動畫 (dialog open animation) 或縮放淡入對話框 (zoom-fade dialog)。
後方頁面變暗的同時,對話框從中心稍微放大並淡入:快速、含蓄,不要回彈。
每次開啟對話框都播放一次,把焦點移進對話框並留在裡面;如果使用者開啟了「減少動態效果」(prefers-reduced-motion),只用簡單的淡入。
別稱 Menu pop, Popover pop-in, Dropdown scale-fade
浮動選單從觸發按鈕所在的位置一邊放大一邊淡入。
在[套用位置]加入「彈出選單展開」(Popover / Dropdown Open) 動畫,也叫 menu pop 或 dropdown scale-fade。
選單從觸發按鈕旁的角落一邊微微放大一邊淡入,要快速、俐落;關閉時淡出得稍快一些。
讓選單始終貼著觸發按鈕,按 Escape 或點擊外部即可關閉,並在觸發按鈕上向螢幕閱讀器標示展開狀態。
別稱 layoutId, Shared element (in-page)
元素彷彿移動並縮放到新位置上對應的元素,看起來是同一個物件。
在[套用位置]加入「共享版面動畫」(Shared Layout Animation),也叫頁面內共享元素 (in-page shared element)。
選取項目改變時,元素要從舊位置平順地移動並縮放到新位置,輕柔地就定位,讓人看出這是同一個物件而不是兩個。
任何時刻只顯示一份,移動過程中不要讓周圍版面跳動。
別稱 Sliding underline, Active tab indicator, Segmented control pill
底線或膠囊形背景從舊頁籤滑動到新選取的頁籤。
在[套用位置]加入「頁籤指示器滑動」(Tab Indicator Slide),也叫 sliding underline 或 active tab indicator。
選取新頁籤時,底線從舊頁籤滑到新頁籤,快速並平順減速;如果兩個頁籤寬度不同,就順勢伸縮到新頁籤的寬度。
保持正確的頁籤語意並支援方向鍵切換;如果使用者開啟了「減少動態效果」(prefers-reduced-motion),指示器就直接移過去,不做滑動。
別稱 Snackbar, Toast notification, Toast stack
簡短訊息從螢幕邊緣滑入或淡入,停留片刻後離開;堆疊的通知會移動讓出位置。
在[套用位置]加入「快顯通知滑入」(Toast Slide-In),也叫 snackbar 或 toast notification。
每則訊息從螢幕邊緣向上滑入並淡入,平順減速;有新通知出現時,已顯示的通知要平順移動讓出位置。
在不搶走焦點的前提下把訊息朗讀給螢幕閱讀器,顯示時間要足夠閱讀,滑鼠移上去或取得焦點時暫停自動關閉。
滑鼠停留片刻後,一個小標籤在元素旁一邊輕移到位一邊淡入。
在[套用位置]加入「工具提示淡入」(Tooltip Fade),也叫 tooltip reveal。
滑鼠停留片刻後,標籤在元素旁一邊輕移到位一邊淡入;游標離開時立刻快速消失,不要延遲。
鍵盤聚焦時也要顯示,按 Escape 可關閉,並把它與元素關聯起來,讓螢幕閱讀器能唸出。