渐变下划线文字
**推荐一个在线运行代码工具,可直接复制过去查看效果:**HTML5在线运行,代码测试 - 在线编辑器(cainiaojc.com)
代码解析
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
h1 span{
color: #333;
line-height: 2;
background: linear-gradient(to right, #ec695c, #61c454) no-repeat bottom right;
background-size: 0 2px;
transition: background-size 1300ms;
}
h1 span:hover{
background-position: bottom left;
background-size: 100% 2px;
}
</style>
</head>
<body>
<h1><span>十年后,你会发现css是你永远学不会的语言</span></h1>
</body>
</html>
CSS属性说明
-
background: linear-gradient(to right, #ec695c, #61c454) no-repeat bottom right
- 创建一个从左到右的渐变背景,颜色从红色(#ec695c)过渡到绿色(#61c454)
-
no-repeat
确保背景不重复 -
bottom right
设置背景位置在右下角
-
background-size: 0 2px
- 初始状态下背景宽度为0,高度为2px
- 这就是我们的下划线的尺寸设置
-
transition: background-size 1300ms
- 对background-size属性添加1.3秒的过渡动画
- 使下划线的展开有平滑的动画效果
-
:hover
状态-
background-position: bottom left
将背景位置改为左下角 -
background-size: 100% 2px
将背景宽度展开到100%
-
实现要点
- 使用
span
标签包裹文字,便于控制下划线效果的范围 - 通过控制
background-size
来实现下划线的展开效果 - 使用
transition
属性使动画过渡更加平滑 - 通过改变
background-position
配合background-size
实现从右到左的展开方向
扩展应用
这种效果不仅可以用于标题,还可以应用在:
- 导航菜单
- 文章链接
- 按钮悬停效果
- 强调文本
浏览器兼容性
该效果在现代浏览器中都能很好地支持,包括:
- Chrome
- Firefox
- Safari
- Edge
总结
这是一个简单但效果出众的CSS动画效果,通过巧妙运用CSS的背景渐变和过渡动画,我们可以创建出这种吸引眼球的交互效果。这个技巧展示了CSS的强大功能,也说明了CSS确实是一门需要不断学习和探索的语言。