值得一看
广告
彩虹云商城
广告

热门广告位

如何用css实现水平导航栏下划线动画

答案:通过CSS伪元素和过渡实现下划线动画。使用::after创建下划线,初始宽度为0,hover时扩展至100%,配合transition实现平滑伸展;居中展开则通过left:50%到left:0并结合width变化或transform:scaleX实现。

如何用css实现水平导航栏下划线动画

实现水平导航栏下划线动画,关键是使用CSS的::after::before伪元素配合过渡(transition)或动画(animation)效果。当用户将鼠标悬停在菜单项上时,显示一条从左到右(或居中展开)的下划线,并带有平滑动画。

1. 基本HTML结构

一个简单的水平导航栏结构:

<nav class="navbar">
<a href="#" class="nav-link">首页</a>
<a href="#" class="nav-link">关于</a>
<a href="#" class="nav-link">服务</a>
<a href="#" class="nav-link">联系</a>
</nav>

2. CSS基础样式

先设置导航项的基本样式,使其横向排列,并移除默认下划线:

.navbar {
display: flex;
gap: 30px;
padding: 20px;
background-color: #f8f8f8;
}
.nav-link {
text-decoration: none;
color: #333;
position: relative;
font-size: 16px;
}

3. 添加下划线动画效果

使用::after伪元素创建下划线,并通过transformtransition实现动画。

立即学习“前端免费学习笔记(深入)”;

无限画

无限画

千库网旗下AI绘画创作平台

无限画43

查看详情
无限画

.nav-link::after {
content: '';
position: absolute;
left: 0;
bottom: -5px;
width: 0;
height: 2px;
background-color: #007bff;
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: 100%;
}

说明:初始状态下下划线宽度为0,悬停时扩展到100%,产生“伸展”动画效果。

4. 可选:更炫的居中展开动画

如果想让下划线从中间向两边展开,可以这样设置:

.nav-link::after {
content: '';
position: absolute;
left: 50%;
bottom: -5px;
width: 0;
height: 2px;
background-color: #007bff;
transition: width 0.3s ease, left 0.3s ease;
}
.nav-link:hover::after {
width: 100%;
left: 0;
}

原理:开始时left: 50%width: 0,悬停后变为left: 0width: 100%,视觉上就是从中向两边展开。

提示:可结合transform: scaleX()实现更流畅的性能表现,例如:

.nav-link::after {
transform: scaleX(0);
transform-origin: center;
transition: transform 0.3s ease;
}
.nav-link:hover::after {
transform: scaleX(1);
}


基本上就这些,不复杂但容易忽略细节。

相关标签:

css html 伪元素 排列 css html 伪元素 transform transition animation
温馨提示: 本文最后更新于2025-10-06 16:30:14,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容