跟我說中文觸發詞、我用對應的動畫 pattern 做。 範例集背後 = LottieFiles/motion-design-skill(Disney 12 動畫原則改編 UI 版 + Material Design 3 easing + 4 motion archetype)。
/* CSS — 30px 下方淡入 / 600ms / Material Design 3 standard easing */
.card {
animation: cardEntrance 600ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
opacity: 0;
transform: translateY(30px);
}
@keyframes cardEntrance {
to { opacity: 1; transform: translateY(0); }
}
/* CSS — 4 卡 80ms 依序 / MD3 emphasized easing */
.mini-card {
animation: cardEntrance 400ms cubic-bezier(0.05, 0.7, 0.1, 1) forwards;
opacity: 0;
transform: translateY(20px);
}
.mini-card:nth-child(1) { animation-delay: 0ms; }
.mini-card:nth-child(2) { animation-delay: 80ms; }
.mini-card:nth-child(3) { animation-delay: 160ms; }
.mini-card:nth-child(4) { animation-delay: 240ms; }
/* CSS — scale 0.3→1.15→1 / overshoot 15% / 400ms */
.check {
animation: successPop 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
@keyframes successPop {
0% { opacity: 0; transform: scale(0.3); }
60% { opacity: 1; transform: scale(1.15); }
100% { opacity: 1; transform: scale(1); }
}
/* CSS — 5 次水平振盪 / ±10px / 350ms */
.err-box {
animation: errorShake 350ms ease-in-out;
}
@keyframes errorShake {
0%, 100% { transform: translateX(0); }
10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
20%, 40%, 60%, 80% { transform: translateX(10px); }
}
/* CSS — spinner 800ms linear infinite */
.spinner {
width: 40px; height: 40px;
border: 4px solid #ffe4ee;
border-top-color: #ff5a8a;
border-radius: 50%;
animation: spin 800ms linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
/* skeleton shimmer 1.4s ease-in-out infinite */
.skeleton {
background: linear-gradient(90deg, #eee 0%, #f5f5f5 50%, #eee 100%);
background-size: 200% 100%;
animation: skeleton 1.4s ease-in-out infinite;
}
@keyframes skeleton {
0% { background-position: 100% 0; }
100% { background-position: -100% 0; }
}
/* CSS — scale 1→1.08 + 光暈擴散 / 2.4s 無限循環 */
.breath {
animation: breathing 2.4s ease-in-out infinite;
}
@keyframes breathing {
0%, 100% {
transform: scale(1);
box-shadow: 0 0 0 0 rgba(255,90,138,0.4);
}
50% {
transform: scale(1.08);
box-shadow: 0 0 0 20px rgba(255,90,138,0);
}
}
/* CSS — hover 上浮 + press 縮放 / 120ms snappy */
.pressbtn {
transition: transform 120ms ease-out, box-shadow 120ms ease-out;
box-shadow: 0 4px 12px rgba(255,90,138,0.3);
}
.pressbtn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(255,90,138,0.4);
}
.pressbtn:active {
transform: scale(0.96);
box-shadow: 0 1px 4px rgba(255,90,138,0.2);
}
/* CSS — 點擊變色 + scale pop + 2 粒子斜飛 */
.heart.liked {
color: #ff5a8a;
animation: heartPop 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes heartPop {
0% { transform: scale(1); }
30% { transform: scale(1.4); }
60% { transform: scale(0.9); }
100% { transform: scale(1); }
}
/* 粒子用 ::before / ::after 兩顆斜飛 */
怎麼用:跟我講「幫我做個 X 動畫」/ 把上面任一觸發詞當關鍵字 / 我直接套對應 pattern + 寫進你網頁。
動畫節奏紀律(出自 motion-design skill)
來源:LottieFiles/motion-design-skill(334 star / MIT / 2026-06-25 裝進小寶寶AI 工具庫)
2026-06-25 製作 · 通用版(無個資)· 教學區