CSS按钮hover下划线滑动效果实现方法
时间:2026-01-07 22:21:45 277浏览 收藏
你在学习文章相关的知识吗?本文《CSS按钮hover滑动下划线实现方法》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!
用::after伪元素实现按钮hover下划线的关键是:按钮设position: relative,::after设absolute定位并用transform: scaleX(0/1)配合transform-origin控制滑动方向,transition实现0.3秒平滑动画。

用 ::after 伪元素实现按钮 hover 时底部滑动下划线,关键是把线条作为绝对定位的子层,从左到右平滑过渡。
基础结构:按钮 + 伪元素线条
确保按钮有相对定位,这样 ::after 才能相对于它定位;线条默认隐藏在左侧,hover 时通过 transform 或 width 动画展开。
- 按钮设置
position: relative; ::after设为position: absolute; bottom: 0; left: 0;- 初始状态设
width: 0;或transform: scaleX(0); - hover 时设
width: 100%;或transform: scaleX(1); - 加上
transition: all 0.3s ease;实现滑动效果
推荐写法:用 transform 更高性能
相比改变 width,用 scaleX() 触发 GPU 加速,动画更流畅,尤其在移动端。
.btn {
position: relative;
padding: 12px 24px;
background: none;
border: none;
font-size: 16px;
cursor: pointer;
}
.btn::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 2px;
background: #007bff;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s ease;
}
.btn:hover::after {
transform: scaleX(1);
}
进阶效果:从中心向两边展开
只需改 transform-origin 为 center,再配合 scaleX(0) → scaleX(1),就能实现居中扩散效果。
- 保持
left: 50%; transform: translateX(-50%) scaleX(0);初始居中缩为 0 - hover 时改为
transform: translateX(-50%) scaleX(1); - 或直接设
transform-origin: center;配合left: 0;也能生效
兼容性与细节提醒
这个方案在现代浏览器(Chrome/Firefox/Safari/Edge)中完全支持,IE11 也 OK;注意避免在 inline 元素(如 默认)上直接用,建议加 display: inline-block 或 block。
- 如果按钮文字换行,
width: 100%仍有效,线条会贴底铺满容器宽度 - 想加颜色渐变?把
background换成linear-gradient即可 - 多个按钮共用样式?确保类名统一,无需额外 JS
基本上就这些。不复杂但容易忽略定位和 transform-origin 的配合 —— 调对了,线条就听话地滑起来。
本篇关于《CSS按钮hover下划线滑动效果实现方法》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
403 收藏
-
290 收藏
-
473 收藏
-
301 收藏
-
105 收藏
-
269 收藏
-
218 收藏
-
427 收藏
-
206 收藏
-
464 收藏
-
461 收藏
-
246 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习