新闻中心

如何在CSS中使用动画制作导航下划线滑动_width与@keyframes结合

2025-11-27
浏览次数:
返回列表
答案:通过CSS的::after伪元素创建下划线,利用transition控制width实现鼠标悬停时下划线平滑展开与收起效果,简洁流畅且性能良好。

如何在css中使用动画制作导航下划线滑动_width与@keyframes结合

想让导航菜单的下划线在鼠标悬停时平滑滑动,可以结合 CSS 的 width 属性与 @keyframes 动画来实现。这种方式视觉效果流畅,适合现代网页设计。

基本结构:HTML 导航布局

先构建一个简单的横向导航菜单:

<n* class="n*-menu">
  <a href="#" class="n*-link">首页</a>
  <a href="#" class="n*-link">关于</a>
  <a href="#" class="n*-link">服务</a>
  <a href="#" class="n*-link">联系</a>
</n*>

基础样式:设置下划线容器

使用伪元素 ::after 创建下划线,并默认隐藏或设为窄宽度:

.n*-link {
  text-decoration: none;
  color: #333;
  display: inline-block;
  position: relative;
  padding: 10px 15px;
}

.n*-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #007acc;
  transition: width 0.3s ease;
}

结合 @keyframes 实现滑动动画

定义关键帧动画,控制下划线从左到右展开的过程:

@keyframes underline-slide {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.n*-link:hover::after {
  animation: underline-slide 0.4s ease forwards;
}

这里使用了 animationforwards 填充模式,确保动画结束后下划线保持 100% 宽度。

语鲸 语鲸

AI智能阅读辅助工具

语鲸 314 查看详情 语鲸

优化体验:反向收起动画(可选)

如果希望鼠标移开时也有动画收起效果,可改用 transition 替代 animation:

.n*-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #007acc;
  transition: width 0.3s ease;
}

.n*-link:hover::after {
  width: 100%;
}

这种方式更简洁,且进出都有过渡效果,无需 keyframes。

基本上就这些。用 @keyframes 能实现更复杂的下划线动画逻辑,比如延迟、弹性效果等,而单纯滑动推荐使用 transition + width,性能更好,代码更清晰。

以上就是如何在CSS中使用动画制作导航下划线滑动_width与@keyframes结合的详细内容,更多请关注其它相关文章!


# 也有  # 网站建设推广排名  # 郏县附近网站推广店铺  # 咸阳自学网站建设平台  # 做seo没内容  # 10年seo创业  # 的整合营销推广方法  # 黄金标题seo教学  # 如何进行新闻营销推广  # 超市产品营销推广方案  # 桐城seo百亿互刷宝  # 设为  # css  # 都有  # 不均匀  # 中不  # 如何在  # 动画制作  # 鼠标  # 下划线  # 网页设计  # 伪元素  # html 


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


相关推荐: 我的世界官方游戏入口 我的世界官网平台直达链接  在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析  C++ vector二维数组定义_C++ vector of vector用法  PrimeNG Sidebar背景色自定义指南:CSS覆盖与主题化实践  在J*a中如何捕获IndexOutOfBoundsException_索引越界异常防护方法说明  Go语言中JSON数据解码与字段访问指南  必由学官方网站入口 必由学学生教师共用登录通道  双系统安装时,如何设置默认启动系统? msconfig命令了解一下!  韩剧圈正版入口页面_韩剧圈官网登录链接  解决Tabulator日期时间排序问题的专业指南  如何使用 Excel 发布器与 Power BI 分享 Excel 洞察  Python字典中优雅地迭代剩余元素的方法  BetterDiscord插件中安全更新用户简介的实践指南  Win10磁盘清理工具在哪 Win10打开并使用磁盘清理【教程】  学习通网页版快速入口 学习通官网网页版直接打开  Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】  实现分段式页面滚动导航:CSS与J*aScript教程  使用 Pandas 高效处理 .dat 文件:数据清洗与数值计算实战  斑马英语APP如何开启夜间护眼阅读_斑马英语APP夜间模式与低蓝光设置教程  Typer应用中动态命令行参数的解析与处理  微信商城在哪里打开【步骤】  2025AO3夸克浏览器通道_AO3手机HTTPS安全入口分享  快手赚钱渠道_快手收益来源  KFC套餐升级怎么获取优惠代码_KFC套餐升级活动与优惠代码获取方法  漫蛙官网正版漫画入口 漫蛙2官方网页登录地址  汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口  uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页  CSS布局中意外空白:解决padding-top导致的顶部间距问题  zookeeper 都有哪些功能?  高德地图沿途添加点失败如何解决 高德多点规划方法  Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】  一加手机拍照效果不好怎么办 一加哈苏影像调校与专业模式使用教程【高手篇】  抖音网页版快捷访问 抖音网页版网页版入口操作教程  夸克浏览器桌面版同步不了书签怎么处理 夸克浏览器跨设备同步异常解决方案  如何在Promise链中有效终止错误处理后的执行  淘宝网网页版登录入口 淘宝官方网页版快捷登录  三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升  Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法  Go语言中JSON数据解析与字段访问教程  qq音乐在线播放入口_qq音乐电脑版登录链接  动漫花园资源网使用步骤_动漫花园资源网下载流程  大象笔记网页版入口 印象笔记网页版登录入口  如何在 Excel Online 和 Google 表格中更改日期格式  Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置  手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析  深入理解J*a编译器的兼容性选项:从-source到--release  126邮箱账号注册 电脑版登录入口  PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符  批改网学生版PC登录 批改网官网登录系统入口  Win10如何开启蓝牙功能_Windows10找不到蓝牙开关解决方法 

搜索