flat: 缓动
This commit is contained in:
@@ -33,12 +33,17 @@ html {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
/* 布局调整 */
|
||||
|
||||
/* 点击动效 */
|
||||
/* 缩小 */
|
||||
.button-click {
|
||||
transition: transform 0.1s ease;
|
||||
/* transition: transform 0.1s ease; */
|
||||
transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
}
|
||||
|
||||
.button-click:active {
|
||||
@@ -67,7 +72,8 @@ html {
|
||||
}
|
||||
|
||||
.btn-feel {
|
||||
transition: transform 0.15s ease;
|
||||
transition: transform 0.5s ease;
|
||||
/* transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); */
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
@@ -84,7 +90,8 @@ html {
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
transition: transform 0.1s ease, box-shadow 0.1s ease;
|
||||
/* transition: transform 0.4s ease, box-shadow 0.1s ease; */
|
||||
transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
/* box-shadow: 0 4px 0 #2C3E50; */
|
||||
}
|
||||
|
||||
@@ -477,4 +484,154 @@ html {
|
||||
|
||||
.pointEveNone {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* TransitionGroup 动画
|
||||
* stagger 错峰
|
||||
* fade-up-stagger --i 淡入上滑(经典错峰)
|
||||
* pop-in-stagger --i 旋转缩放弹入(活泼)
|
||||
* slide-left-stagger 从左侧滑入(消息流风格)
|
||||
* blur-fade-stagger --i 渐显 + 模糊(毛玻璃感)
|
||||
* bounce-up-stagger 从底部弹跳入场(物理感)
|
||||
*
|
||||
*/
|
||||
/* 淡入上滑(经典错峰) */
|
||||
.fade-up-stagger-enter-active {
|
||||
transition: all 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);
|
||||
transition-delay: calc(var(--i) * 0.1s);
|
||||
}
|
||||
|
||||
.fade-up-stagger-enter-from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
|
||||
.fade-up-stagger-leave-active {
|
||||
transition: opacity 0.25s ease;
|
||||
}
|
||||
|
||||
.fade-up-stagger-leave-to {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
.pop-in-stagger-enter-active {
|
||||
transition: all 0.45s cubic-bezier(0.68, -0.55, 0.27, 1.55);
|
||||
transition-delay: calc(var(--i) * 0.08s);
|
||||
}
|
||||
|
||||
.pop-in-stagger-enter-from {
|
||||
opacity: 0;
|
||||
transform: scale(0.7) rotate(-10deg);
|
||||
}
|
||||
|
||||
.pop-in-stagger-leave-active {
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.pop-in-stagger-leave-to {
|
||||
opacity: 0;
|
||||
transform: scale(0.9) rotate(5deg);
|
||||
}
|
||||
|
||||
.slide-left-stagger-enter-active {
|
||||
transition: all 0.35s ease-out;
|
||||
transition-delay: calc(var(--i) * 0.07s);
|
||||
}
|
||||
|
||||
.slide-left-stagger-enter-from {
|
||||
opacity: 0;
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
|
||||
.slide-left-stagger-leave-active {
|
||||
transition: all 0.25s ease;
|
||||
}
|
||||
|
||||
.slide-left-stagger-leave-to {
|
||||
opacity: 0;
|
||||
transform: translateX(50%);
|
||||
}
|
||||
|
||||
/* 错峰动画 */
|
||||
.stagger-enter-active {
|
||||
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
transition-delay: calc(var(--i) * 0.42s);
|
||||
/* 关键:120ms 间隔 */
|
||||
}
|
||||
|
||||
.stagger-enter-from {
|
||||
opacity: 0;
|
||||
transform: translateY(30px) scale(0.95);
|
||||
/* 更大位移 + 轻微缩放 */
|
||||
}
|
||||
|
||||
.stagger-leave-active {
|
||||
transition: all 0.25s ease;
|
||||
}
|
||||
|
||||
.stagger-leave-to {
|
||||
opacity: 0;
|
||||
transform: translateX(20px);
|
||||
}
|
||||
|
||||
.stagger-move {
|
||||
transition: transform 0.4s ease;
|
||||
}
|
||||
|
||||
.blur-fade-stagger-enter-active {
|
||||
transition: all 0.5s ease;
|
||||
transition-delay: calc(var(--i) * 0.09s);
|
||||
}
|
||||
|
||||
.blur-fade-stagger-enter-from {
|
||||
opacity: 0;
|
||||
filter: blur(8px);
|
||||
transform: scale(1.02);
|
||||
}
|
||||
|
||||
.blur-fade-stagger-leave-active {
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.blur-fade-stagger-leave-to {
|
||||
opacity: 0;
|
||||
filter: blur(4px);
|
||||
}
|
||||
|
||||
.bounce-up-stagger-enter-active {
|
||||
animation: stagger-bounce 0.6s forwards;
|
||||
animation-delay: calc(var(--i) * 0.12s);
|
||||
}
|
||||
|
||||
.bounce-up-stagger-leave-active {
|
||||
transition: all 0.25s ease;
|
||||
}
|
||||
|
||||
.bounce-up-stagger-leave-to {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
}
|
||||
|
||||
@keyframes stagger-bounce {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(100px) scale(0.8);
|
||||
}
|
||||
|
||||
60% {
|
||||
transform: translateY(-10px) scale(1.05);
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: translateY(5px) scale(0.98);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user