Loading...
Loading...
Compare original and translation side by side
file:linefile:line| Priority | Category | Prefix |
|---|---|---|
| 1 | Timing | |
| 2 | Easing | |
| 3 | Physics | |
| 4 | Staging | |
| 优先级 | 分类 | 前缀 |
|---|---|---|
| 1 | 时长控制 | |
| 2 | 缓动效果 | |
| 3 | 物理动效 | |
| 4 | 视觉呈现 | |
timing-under-300mstiming-under-300ms.button { transition: transform 400ms; }.button { transition: transform 200ms; }.button { transition: transform 400ms; }.button { transition: transform 200ms; }timing-consistenttiming-consistent.button-primary { transition: 200ms; }
.button-secondary { transition: 150ms; }.button-primary { transition: 200ms; }
.button-secondary { transition: 200ms; }.button-primary { transition: 200ms; }
.button-secondary { transition: 150ms; }.button-primary { transition: 200ms; }
.button-secondary { transition: 200ms; }timing-no-entrance-context-menutiming-no-entrance-context-menu<motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} /><motion.div exit={{ opacity: 0 }} /><motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} /><motion.div exit={{ opacity: 0 }} />easing-entrance-ease-outeasing-entrance-ease-outease-out.modal-enter { animation-timing-function: ease-in; }.modal-enter { animation-timing-function: ease-out; }ease-out.modal-enter { animation-timing-function: ease-in; }.modal-enter { animation-timing-function: ease-out; }easing-exit-ease-ineasing-exit-ease-inease-in.modal-exit { animation-timing-function: ease-out; }.modal-exit { animation-timing-function: ease-in; }ease-in.modal-exit { animation-timing-function: ease-out; }.modal-exit { animation-timing-function: ease-in; }easing-no-linear-motioneasing-no-linear-motion.card { transition: transform 200ms linear; }.progress-bar { transition: width 100ms linear; }.card { transition: transform 200ms linear; }.progress-bar { transition: width 100ms linear; }easing-natural-decayeasing-natural-decaygain.gain.linearRampToValueAtTime(0, t + 0.05);gain.gain.exponentialRampToValueAtTime(0.001, t + 0.05);gain.gain.linearRampToValueAtTime(0, t + 0.05);gain.gain.exponentialRampToValueAtTime(0.001, t + 0.05);physics-active-statephysics-active-state.button:hover { background: var(--gray-3); }
/* Missing :active state */.button:active { transform: scale(0.98); }.button:hover { background: var(--gray-3); }
/* 缺少:active状态 */.button:active { transform: scale(0.98); }physics-subtle-deformationphysics-subtle-deformation<motion.div whileTap={{ scale: 0.8 }} /><motion.div whileTap={{ scale: 0.98 }} /><motion.div whileTap={{ scale: 0.8 }} /><motion.div whileTap={{ scale: 0.98 }} />physics-spring-for-overshootphysics-spring-for-overshoot<motion.div transition={{ duration: 0.3, ease: "easeOut" }} />
// When element should bounce/settle<motion.div transition={{ type: "spring", stiffness: 500, damping: 30 }} /><motion.div transition={{ duration: 0.3, ease: "easeOut" }} />
// 当元素需要回弹-收尾效果时<motion.div transition={{ type: "spring", stiffness: 500, damping: 30 }} />physics-no-excessive-staggerphysics-no-excessive-staggertransition={{ staggerChildren: 0.15 }}transition={{ staggerChildren: 0.03 }}transition={{ staggerChildren: 0.15 }}transition={{ staggerChildren: 0.03 }}staging-one-focal-pointstaging-one-focal-point// Multiple elements with competing entrance animations
<motion.div animate={{ scale: 1.1 }} />
<motion.div animate={{ scale: 1.1 }} />// 多个元素同时使用竞争性入场动画
<motion.div animate={{ scale: 1.1 }} />
<motion.div animate={{ scale: 1.1 }} />staging-dim-backgroundstaging-dim-background.overlay { background: transparent; }.overlay { background: var(--black-a6); }.overlay { background: transparent; }.overlay { background: var(--black-a6); }staging-z-index-hierarchystaging-z-index-hierarchy.tooltip { /* No z-index, may render behind other elements */ }.tooltip { z-index: 50; }.tooltip { /* 未设置z-index,可能被其他元素遮挡 */ }.tooltip { z-index: 50; }file:line - [rule-id] description of issue
Example:
components/modal/index.tsx:45 - [timing-under-300ms] Exit animation 400ms exceeds 300ms limit
components/button/styles.module.css:12 - [physics-active-state] Missing :active transformfile:line - [规则ID] 问题描述
示例:
components/modal/index.tsx:45 - [timing-under-300ms] 退场动画400ms超出300ms限制
components/button/styles.module.css:12 - [physics-active-state] 缺少:active状态变换| Rule | Count | Severity |
|---|---|---|
| 2 | HIGH |
| 3 | MEDIUM |
| 1 | MEDIUM |
| 规则 | 数量 | 严重程度 |
|---|---|---|
| 2 | 高 |
| 3 | 中 |
| 1 | 中 |