新闻中心

css下划线hover出现太突然如何优化_用keyframes制作从左向右描边动画

2025-12-14
浏览次数:
返回列表
用伪元素+width动画实现下划线从左到右描边效果最常用可控:设a为relative,::after绝对定位到底部,hover时width从0到100%过渡,配合cubic-bezier缓动更自然。

css下划线hover出现太突然如何优化_用keyframes制作从左向右描边动画

下划线 hover 出现太突然,本质是默认用 text-decorationborder-bottom 简单切换导致的“硬切”。用 CSS keyframes 做从左向右描边动画,能自然过渡、提升质感。

用伪元素 + width 动画实现描边效果

这是最常用也最可控的方式:不直接操作文字下划线,而是用 ::after 伪元素模拟一条横线,通过控制它的宽度和位置来实现“从左到右”的绘制感。

  • 给链接加 position: relative,为伪元素提供定位上下文
  • 伪元素设为 absolute,底部对齐,初始 width: 0left: 0
  • hover 时用 animation 触发 width0100% 的变化

示例代码:

 a { position: relative; text-decoration: none; color: #333; }<br>a::after {<br>  content: '';<br>  position: absolute;<br>  bottom: -2px;<br>  left: 0;<br>  width: 0;<br>  height: 2px;<br>  background: #007bff;<br>  transition: width 0.3s ease-out;<br>}<br>a:hover::after { width: 100%; }

用 keyframes 实现更精细的描边节奏

如果想控制起始/加速/回弹等细节,就用 @keyframes 替代简单 transition。比如让线条先快后慢,或带一点“回抽”感,会更像手绘描边。

美图AI开放平台 美图AI开放平台

美图推出的AI人脸图像处理平台

美图AI开放平台 111 查看详情 美图AI开放平台
  • 定义动画:从 width: 0width: 100%,可加入 transform: scaleX() 配合避免重排
  • animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1) 调出自然缓动
  • 注意设置 animation-fill-mode: forwards,保证动画结束后保持最终状态

示例动画定义:

@keyframes drawLine {<br>  from { width: 0; transform: scaleX(0); }<br>  to { width: 100%; transform: scaleX(1); }<br>}<br><br>a:hover::after {<br>  animation: drawLine 0.4s cubic-bezier(0.2, 0.8, 0.4, 1) forwards;<br>}

兼容性与性能小提醒

伪元素 + width 动画在所有现代浏览器中表现稳定,且只触发合成层(尤其是加了 transform),不会引起重排重绘,很轻量。

  • 避免对 left / right 做动画——会触发 layout
  • 如果需要支持老版 Safari,可加 -webkit-transform 前缀
  • 不想用伪元素?也可用 background-image: linear-gradient() + background-size 动画,原理类似

基本上就这些。描边动画不复杂但容易忽略节奏和锚点控制,调好 timing-function 和 duration,比加一堆 fancy 效果更显专业。

以上就是css下划线hover出现太突然如何优化_用keyframes制作从左向右描边动画的详细内容,更多请关注其它相关文章!


# 伪元素  # 澄城短视频关键词排名  # 潢川信息流推广营销费用  # 网站编辑seo优化工作  # 成都建设什么网站最好  # 关键词搜索排名代理  # 广安大企业网站建设  # 营销推广过不了怎么办呀  # seo的绩效考核  # 尤其是  # 选择器  # 加载  # 这是  # 不均匀  # 最常用  # 中不  # 多个  # 美图  # 下划线  # 重绘  # 绝对定位  # safari  # 浏览器  # css  # 医院人文建设网站  # 韶关谷歌seo服务商 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: c++ dfs和bfs代码 c++深度广度优先搜索算法  J*a里如何实现线程安全的懒加载单例_懒加载单例实现方法解析  将HTML动态表格多行数据保存到Google Sheet的教程  4399免费游戏网址入口 4399小游戏免费入口点开即玩  天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】  HTML空白字符处理机制:渲染、DOM与编码实践  EMS快递官网app_中国邮政速递物流手机客户端  Win11怎么开启高性能模式_Windows 11电源计划优化设置  vivo手机参数配置怎么增强信号_vivo手机参数配置信号增强方法  在J*aScript中复现SciPy的B样条拟合与求值:关键考量  QQ邮箱网页版入口页面 QQ邮箱在线登录入口官网  mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析  J*aScriptWebpack优化_J*aScript构建工具实战  QQ官网正版登录链接 QQ在线登录入口最新  在Go语言中利用后缀数组处理多字符串:实现高效文本匹配与自动补全  极兔快递快件信息查询系统 极兔快递官网运单号追踪  MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略  C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果  AO3最新官网入口公告_2025AO3镜像站实时查询方法  必由学在线入口 必由学网页版快速登录入口  CKEditor 5 自定义构建在React应用中渲染失败的调试与解决  2026年发布! 美少女养成动作RPG《神剑少女战记》发布实机演示  如何更改在 Excel 中打开超链接时的默认浏览器  漫蛙2(台版)官方入口地址 漫蛙2(台版)正版漫画网页端  Golang如何通过reflect获取匿名字段方法_Golang reflect匿名字段方法访问技巧  sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE  Pandas DataFrame 高效批量赋值:告别循环与笛卡尔积误区  TikTok搜索结果不显示如何解决 TikTok搜索刷新优化方法  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略  Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性  如何使用 Excel 发布器与 Power BI 分享 Excel 洞察  优化大型XML文件解析:基于Python流式处理的内存高效方案  谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航  如何使用J*aScript精确选择并批量修改特定父元素下子链接的样式  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析  在Socket.IO连接中实现Access Token自动更新与动态重连  win11 arm版怎么安装 M1/M2 Mac虚拟机安装ARM win11的方法  DLsite中文平台入口 DLsite官网内容在线查看  PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误  Composer如何处理Git子模块(submodule)依赖_Composer与Git Submodule的对比与选择  c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解  qq浏览器如何查看和导出已保存的密码 qq浏览器密码管理器数据备份教程  C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用  谷歌浏览器浏览体验优化_谷歌浏览器新版直连永久可用提示  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  小米汽车11月交付量突破40000台!雷军:将继续努力  Tailwind CSS line-clamp 布局问题解析与修复指南  解决J*aScript中重复选择项的确认对话框显示问题  微博网页版首页入口 微博电脑端官网登录链接 

搜索