fix(webui): 局部入场动画补回(写信页/回复框/转发面板)—— 你猜对了,是被整条删掉的
用户(2026-09-15):「从发信按钮到发信页面,从聊天按钮到聊天输入,以及转发拉起输入框 都没有对应的动画,所有的动画都消失了,是不是我批评一下用力过猛你就全给删了」 是。9aa702b(09-14,回应「部分动画十分不合理,会导致页面大范围的闪动」)把 整条删掉、换成 , 而 **.pane-enter 没有任何组件在穿**(grep 确认)⇒ 这一档从「全部一起动」变成 「一条都不动」,连这三处局部、有明确语义的入场也一起没了。 批评针对的是**整面板/整屏**一起淡入(骨架跟着暗 = 闪),不是局部入场。所以补回 只动「刚出现的那一块」:@keyframes rise-in(4px + 不缩放,150ms,与 pane-in/menu-in 同一套尺子),仍挂在 view-switch 触发窗口上,骨架一动不动。 判据(narrow-layout 新增 3 条):keyframes+规则存在、三处目标面都穿(MailView 里 回复框与转发面板各一处)、且 reduced-motion 块里也有它。变异:去掉转发面板那处 → 红; 从 reduced-motion 里删掉 → 红;复原 → 74 通过 0 失败。(第一版取错了 reduced-motion 块——文件里有多个,取到全局那个,判据自己假红,已改成逐块检查。) 生产实测(8180,点「新建邮件」后 90ms 读计算样式):animationName=rise-in、0.15s、 cubic-bezier(.22,.61,.36,1),此时 html 正带 view-switch。
This commit is contained in:
@ -406,7 +406,7 @@ function ForwardBar({ mail, onClose }: { mail: Mail; onClose: () => void }) {
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="shrink-0 max-h-[min(65vh,calc(var(--app-height)-3rem))] overflow-y-auto overscroll-contain border-t border-gray-200 px-4 md:px-6 py-3 space-y-2">
|
||||
<div className="rise-in shrink-0 max-h-[min(65vh,calc(var(--app-height)-3rem))] overflow-y-auto overscroll-contain border-t border-gray-200 px-4 md:px-6 py-3 space-y-2">
|
||||
<div className="flex items-center gap-2">
|
||||
<ForwardIcon className="w-3.5 h-3.5 text-gray-500" />
|
||||
<span className="text-2xs font-medium text-gray-600">
|
||||
@ -978,7 +978,7 @@ function ReplyBar({
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="shrink-0 max-h-[min(65vh,calc(var(--app-height)-3rem))] overflow-y-auto overscroll-contain border-t border-gray-200 px-4 md:px-6 py-3">
|
||||
<div className="rise-in shrink-0 max-h-[min(65vh,calc(var(--app-height)-3rem))] overflow-y-auto overscroll-contain border-t border-gray-200 px-4 md:px-6 py-3">
|
||||
<div className="flex items-center gap-2 mb-1 flex-wrap">
|
||||
<p className="text-3xs text-gray-400 font-mono min-w-0 truncate">回复 {target}</p>
|
||||
<div className="flex-1" />
|
||||
|
||||
Reference in New Issue
Block a user