讲师中心 微信公众号
AI工具推荐 视频效率加速

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

胖婷同学_9111

胖婷同学_9111

发布时间:2025-12-14 19:13:40

|

772人浏览过

|

来源于php中文网

原创

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

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

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

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

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

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

示例代码:

 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。比如让线条先快后慢,或带一点“回抽”感,会更像手绘描边。

Plan Dubai Travel — Flights, Hotels, Burj Khalifa, Desert Safari, Malls & Itineraries
Plan Dubai Travel — Flights, Hotels, Burj Khalifa, Desert Safari, Malls & Itineraries

规划您的迪拜之旅 — 哈利法塔观景、沙漠探险、迪拜购物中心购物、棕榈岛度假村及黄金市场砍价。还提供支持...

下载

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

  • 定义动画:从 width: 0 → width: 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 效果更显专业。

热门AI工具

更多
蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

5187

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2288

2023.08.10

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

2820

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

474

2023.10.07

CSS position定位有几种方式
CSS position定位有几种方式

有4种,分别是静态定位、相对定位、绝对定位和固定定位。更多关于CSS position定位有几种方式的内容,可以访问下面的文章。

352

2023.11.23

html边框设置教程
html边框设置教程

本教程将带你全面掌握HTML/CSS边框设置,从基础的border属性讲起,涵盖所有边框样式、圆角设置及高级技巧,帮助你快速上手实现各种边框效果。

2233

2025.09.02

css3transition
css3transition

css3transition属性用于指定如何从一个CSS样式过渡到另一个CSS样式,本专题为大家提供transition相关的文章、相关下载和相关课程,大家可以免费体验。

1930

2023.06.27

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

120

2026.09.30

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

100

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.5万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 5.8万人学习

CSS教程
CSS教程

共754课时 | 96.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn