按钮悬停时通过 :after 伪元素显示 font awesome 箭头,但鼠标移出瞬间箭头会短暂下移再消失------这是因 :hover 中意外触发 display: flex 导致布局重排所致,只需统一基础态与悬停态的 display 行为并强化垂直对齐即可彻底消除抖动。 按钮悬停时通过 :after 伪元素显示 font awesome 箭头,但鼠标移出瞬间箭头会短暂下移再消失------这是因 :hover 中意外触发 display: flex 导致布局重排所致,只需统一基础态与悬停态的 display 行为并强化垂直对齐即可彻底消除抖动。在 CSS 动画与交互设计中,伪元素(如 :after)的平滑过渡常被用于增强视觉反馈。但本例中出现的"悬停后移出时箭头向下跳动"现象,并非动画本身的问题,而是布局模式突变引发的重排(reflow)。? 问题根源分析原始代码中:默认状态下,#projects-btn 使用 text-align: center 实现水平居中,其内部文本流为 inline 模式;而 #projects-btn:hover 强制设为 display: flex; justify-content: center;,这会将按钮切换为 Flex 容器,导致其子内容(包括伪元素)的基线对齐方式、行内盒模型行为发生根本性变化;更关键的是:<button> 是替换元素(replaced element),其默认 display 为 inline-block;当 hover 时突然变为 flex,浏览器需重新计算盒模型尺寸与对齐逻辑,而 :after 伪元素在 position: relative 下仍受行内布局影响,造成垂直方向上的瞬时位移(即"下跳")。? 简单说:不是动画不流畅,而是 hover 前后 display 类型不一致,破坏了布局稳定性。? 正确解法:保持 display 一致性 + 强制垂直居中应将 display: flex 和对齐属性提前声明在默认状态,而非仅在 :hover 中添加: 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。
相关推荐
m0_372257021 小时前
parse_model 函数的收尾部分,负责将计算好的参数实例化为真实的 PyTorch 层,并完成元数据的绑定和通道账本的更新Ares-Wang1 小时前
AI》》人工智能》》AIGC》》deepseek常见用法 PPT、思维导图等criket1 小时前
面向对象的层次聚类算法m0_631529821 小时前
如何创建物化视图日志_CREATE MATERIALIZED VIEW LOG记录基表DML变更m0_702036531 小时前
Layui表格渲染如何处理字段名为JSON关键字(如order)的情况m0_591364731 小时前
mysql连接查询中包含大表如何优化_采用嵌套循环JOIN优化顺序风落无尘2 小时前
《智能重生:从垃圾堆到AI工程师》——第九章 语言与理解2401_884454152 小时前
golang如何给图片添加水印_golang图片添加水印解析hongjianMa2 小时前
【论文阅读】Structured Spectral Reasoning for Frequency-Adaptive Multimodal Recommendation