扫码关注官方订阅号
最近在模仿蘑菇街做练习这种线性渐变的动画如何实现啊?用过keyframe,transition,都很生硬,也许是我用的不对?
欢迎选择我的课程,让我们一起见证您的进步~~
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css3渐变动画</title> <style> *{ margin: 0; padding: 0; } .hover{ position: relative; display: block; float: left; margin-right: 20px; width: 200px; height: 120px; z-index: 1; } .hover:after{ position: absolute; display: block; content: ''; width: 100%; height: 100%; top: 0; left: 0; -webkit-transition: opacity 0.5s ease-out; -moz-transition: opacity 0.5s ease-out; -ms-transition: opacity 0.5s ease-out; transition: opacity 0.5s ease-out; opacity: 0; z-index: 2; } .hover:hover:after{ opacity: 1; } .hover-a{ background: #00dafe\9; background: -webkit-linear-gradient(left, #00dafe, #3381ff); background: -moz-linear-gradient(left, #00dafe, #3381ff); background: -ms-linear-gradient(left, #00dafe, #3381ff); background: linear-gradient(left, #00dafe, #3381ff); } .hover-a:after{ background: -webkit-linear-gradient(right, #00dafe, #3381ff); background: -moz-linear-gradient(right, #00dafe, #3381ff); background: -ms-linear-gradient(right, #00dafe, #3381ff); background: linear-gradient(right, #00dafe, #3381ff); } .hover-b{ background: #ea73ff\9; background: -webkit-linear-gradient(left, #ea73ff, #a34eff); background: -moz-linear-gradient(left, #ea73ff, #a34eff); background: -ms-linear-gradient(left, #ea73ff, #a34eff); background: linear-gradient(left, #ea73ff, #a34eff); } .hover-b:after{ background: -webkit-linear-gradient(right, #ea73ff, #a34eff); background: -moz-linear-gradient(right, #ea73ff, #a34eff); background: -ms-linear-gradient(right, #ea73ff, #a34eff); background: linear-gradient(right, #ea73ff, #a34eff); } </style> </head> <body> <a href="" class="hover hover-a"></a> <a href="" class="hover hover-b"></a> </body> </html>
这里有两个背景
a标签上的背景,也就是默认效果,a:after的背景默认opacity为0
当a标签hover后 a:after的背景从opacity为0 过度到 opacity为1
transition:opacity 0.5s ease-out
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这里有两个背景
a标签上的背景,也就是默认效果,a:after的背景默认opacity为0
当a标签hover后 a:after的背景从opacity为0 过度到 opacity为1