如何实现类似clay.global网站底部的粉色半背景hover悬停样式?
实现原理
该效果通过CSS背景渐变配合过渡动画实现,不会修改文字本身样式,仅在文字下方添加半高衬底:
- 给链接元素设置粉色线性渐变作为背景
- 默认状态下背景高度为0,定位在元素底部,处于不可见状态
- hover时调整背景高度到预设值,配合过渡实现平滑出现的效果
代码示例
参考HTML结构
<footer> <a href="#" class="footer-item">服务条款</a> <a href="#" class="footer-item">隐私政策</a> <a href="#" class="footer-item">联系我们</a> <a href="#" class="footer-item">工作机会</a> </footer>
核心CSS代码
.footer-item { /* 基础样式可根据自身项目调整 */ display: inline-block; color: #222; text-decoration: none; padding: 3px 0; line-height: 1.5; /* 效果核心配置 */ background-image: linear-gradient(#f5a9b8, #f5a9b8); background-repeat: no-repeat; background-position: left bottom; background-size: 100% 0; transition: background-size 0.25s ease; } .footer-item:hover { /* 50%即为半高效果,可按需调整高度 */ background-size: 100% 50%; }
参数调整说明
- 粉色值:修改
linear-gradient内的色值即可,如需半透明可替换为rgba格式,例如rgba(245, 169, 184, 0.5) - 背景高度:修改hover状态下
background-size的第二个参数,数值越大背景越高 - 动画速度:修改
transition中的0.25s,数值越大动画越平缓 - 出现方向:修改
background-position参数,例如设置为right bottom即可实现从右往左出现的效果
内容的提问来源于stack exchange,提问作者Mohammad Najafi
相关产品推荐
相关产品推荐

