新闻中心
如何用css实现导航栏下划线动画
答案:通过CSS伪元素::after结合transform和transition实现导航栏下划线动画,1. 使用flex布局构建横向导航;2. 设置a标签相对定位;3. 利用::after创建初始宽度为0的下划线;4. hover时宽度变为100%,配合transition实现滑动效果;5. 通过left和transform控制展开方向,如居中展开需设置left:50%和translateX(-50%)。

实现导航栏下划线动画,可以通过 CSS 的伪元素(如 ::after 或 ::before)结合 transform 和 transition 来完成。点击或悬停时,下划线从一侧滑动出现,视觉效果流畅自然。
1. 基本 HTML 结构
假设导航栏由一个无序列表构成:
<n*>
<ul class="n*-list">
<li><a href="#">首页</a></li>
<li><a href="#">关于</a></li>
<li><a href="#">服务</a></li>
<li><a href="#">联系</a></li>
</ul>
</n*>
2. 基础样式设置
先给导航基本样式,隐藏默认列表符号,横向排列:
.n*-list {
list-style: none;
display: flex;
gap: 40px;
padding: 20px;
background: #f8f8f8;
}
.n*-list a {
text-decoration: none;
color: #333;
font-size: 16px;
position: relative;
padding: 10px 0;
}
3. 添加下划线动画效果
使用 ::after 伪元素创建下划线,初始状态隐藏,悬停时滑出:
.n*-list a::after {
content: '';
position: absolute;
left: 0;
bottom: 5px;
width:
0;
height: 2px;
background-color: #007acc;
transition: width 0.3s ease, left 0.3s ease;
}
.n*-list a:hover::after {
width: 100%;
}
这样,鼠标移到链接上时,下划线会从左向右伸展。
Mureka
Mureka是昆仑万维最新推出的一款AI音乐创作工具,输入歌词即可生成完整专属歌曲。
1091
查看详情
4. 进阶:居中向两边展开
如果想让下划线从中部向左右两侧展开,调整伪元素的起点和 transform:
.n*-list a::after {
content: '';
position: absolute;
left: 50%;
bottom: 5px;
width: 0;
height: 2px;
background-color: #007acc;
transition: width 0.3s ease, left 0.3s ease;
transform: translateX(-50%);
}
.n*-list a:hover::after {
width: 100%;
left: 0;
}
利用 transform: translateX(-50%) 将下划线中心对齐,悬停时宽度撑满,视觉上就是从中向两边展开。
基本上就这些。通过控制伪元素的宽、位置和过渡效果,就能做出各种风格的下划线动画,不复杂但容易忽略细节。比如确保父元素是相对定位,伪元素才能准确定位。
以上就是如何用css实现导航栏下划线动画的详细内容,更多请关注其它相关文章!
# 鼠标
# seo粤语读西还是hi
# 律师推广网站怎么做最好
# 江门租房网站建设
# 品牌营销推广系统招商
# 网络推广营销新模式
# 绿茶营销推广方案设计图
# 淘宝单品关键词排名
# 网站投放推广方案怎么写
# 快速推广本地营销计划
# 快捷的抖音营销推广方法
# 可以通过
# 相关文章
# 就能
# css
# 选择器
# 两种类型
# 进阶
# 中不
# 如何用
# 下划线
# 相对定位
# a标签
# 排列
# flex布局
# 伪元素
# html
# 导航栏下划线
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
vivo浏览器怎么扫描二维码 vivo浏览器内置扫一扫功能使用方法
响应式CSS Grid布局:优化网格项在小屏幕下的堆叠与宽度适配
谷歌google账号注册详细步骤 谷歌账号注册官方教程
J*aScript 字符串标签转换:使用正则表达式高效替换
如何使用spryker/configurable-bundles-products-resource-relationship模块解决复杂产品捆绑关系难题
J*aScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程
AO3同人作品网入口 AO3搜索引擎官网永久地址
J*a应用程序首次运行自动创建文件与目录的最佳实践
冬*霸灯泡不亮怎么办_浴霸取暖灯一盏不亮的灯座清洁修复法
抖音极速版最新版本 抖音极速版官方下载地址
composer的"require-dev"部分是用来做什么的?
如何更改在 Excel 中打开超链接时的默认浏览器
AO3最新镜像入口 Archive of Our Own官方平台访问
vivo手机参数配置怎么增强信号_vivo手机参数配置信号增强方法
Win11怎么用U盘重装系统 Win11制作启动盘并重装系统完整教程【详解】
微信网页版登录教程_微信网页版登录入口在哪
QQ邮箱官方网页版登录 QQ邮箱个人邮箱快速访问
TikTok国际版网页端快速入口 TikTok全球版短视频浏览教程
windows10怎么关闭系统提示音_windows10彻底静音设置方法
包子漫画官方网站阅读入口-包子漫画在线漫画官网直达链接
Win11怎么查看显卡显存 Win11显示适配器属性及专用视频内存查询
拷贝漫画电脑版官网入口 拷贝漫画(PC版)在线直达
QQ邮箱网页版邮箱入口 QQ邮箱官方登录平台
Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略
Golang如何优化内存分配与垃圾回收_Golang内存管理与GC优化实践
红果短剧网页版官网入口 官方最新网址发布
Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法
荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】
如何高效处理PHP中的Excel数据导入导出?PortPHP/Spreadsheet助你轻松搞定!
使用Python高效删除Word宏并转换DOCM为DOCX格式
谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】
谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作
优化MinIO list_objects_v2 操作的性能瓶颈与最佳实践
Typer应用中动态命令行参数的解析与处理
为什么我的微信朋友圈看不到别人的更新_微信朋友圈更新显示异常解决方法
动漫共和国防屏蔽稳定域名-动漫共和国官方正版直达通道
学习通网页版官方登录 超星学习通电脑端入口指南
126邮箱网页版官方入口 126邮箱账号在线登录平台
在Typer应用中优雅地处理和重组任意命令行参数
2025年云电脑操作系统体验 | 无需本地硬件,随时随地使用高性能PC
Spyder启动失败:字体文件权限拒绝错误解决方案
夸克AO3官网入口_AO3镜像网站2025推荐
Win11怎么开启高性能模式_Windows 11电源计划优化设置
Golang如何使用const iota_Go iota常量计数器讲解
台积电1.4nm工艺A14瞄准2028:10年来性能提升80%
J*aScript中针对特定容器内图片动画的实现教程
谷歌推RCS信息存档功能:公司可监控员工私密信息!
移动端XML文件怎么转换成Excel 手机和平板上的解决方案
照顾宝贝2小游戏免费秒玩入口
蛙漫2台版漫画地址 Manwa2正版网页版链接


2025-10-26
浏览次数:次
返回列表
0;
height: 2px;
background-color: #007acc;
transition: width 0.3s ease, left 0.3s ease;
}
.n*-list a:hover::after {
width: 100%;
}