手把手教你使用CSS3实现按钮悬停闪烁动态特效

在之前的文章《纯css3怎么创建瀑布流布局?columns方法浅析》中,我们介绍了使用css3 column系列属性创建瀑布流布局的方法,感兴趣的朋友可以去了解一下~

而今天我们来看看使用CSS3怎么给按钮添加动态效果,实现一个按钮悬停闪亮阴影动画效果,让网页互动性更强,更吸引人!

我们先来看看效果图

2.gif

下面我们来研究一下是怎么实现这个效果的:

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

首先是HTML部分,定义一个div容器包裹button按钮,在按钮中使用标签对来包含按钮文本

  

登录后复制

1.png

然后开始定义css样式来进行修饰:调整布局样式、色彩范围

#shiny-shadow {  display: flex;  align-items: center;  justify-content: center;  height: 100vh;  background: #1c2541;}button {  border: 2px solid white;  background: transparent;  text-transform: uppercase;  color: white;  padding: 15px 50px;  outline: none;}span {  z-index: 20;  }

登录后复制

2.png

接着制作一闪而过的覆盖层:

使用:after选择器制作一个带透明度的长方形,让它相对于button按钮进行绝对定位

button {  position: relative;}button:after {content: '';display: block;position: absolute;background: white;width: 50px;height: 125px;opacity: 20%;}

登录后复制

3.png

在最终效果中,一闪而过的是一个倾斜的长方形;因此我们添加一个transform: rotate(-45deg);样式

button:after {transform: rotate(-45deg);}

登录后复制

4.png

使用top属性和left属性控制长方形的位置

button:after {top: -2px;left: -1px;}

登录后复制

5.png

最后实现按钮悬停闪烁动画特效

因为是悬停效果,所以要使用到:hover选择器;我们要设置鼠标悬停时长方形的位置

button:hover:after {  left: 120%;}

登录后复制

6.gif

这样突然变换位置不是我们要的效果,可以使用transition属性添加一个过渡效果,因为该属性是css3的一个新属性,要添加前缀来兼容其他浏览器

button:hover:after {  left: 120%;  transition: all 600ms cubic-bezier(0.3, 1, 0.2, 1);   -webkit-transition: all 600ms cubic-bezier(0.3, 1, 0.2, 1);}

登录后复制

7.gif

大致实现了,再修饰一下。

只想要button按钮范围内显示长方形覆盖层,那么可给button标签添加一个overflow: hidden;样式

button {  overflow: hidden;}

登录后复制

8.png

9.gif

可以看出覆盖层的位置还有点问题,最终效果中覆盖层一开始是不显示的,我们使用top属性和left属性来调整一下

button:after {top: -36px;left: -100px;}

登录后复制

10.gif

OK,大功告成!下面附上完整代码:

nbsp;html>#shiny-shadow {display: flex;align-items: center;justify-content: center;height: 100vh;background: #1c2541;}button {border: 2px solid white;background: transparent;text-transform: uppercase;color: white;padding: 15px 50px;outline: none;position: relative;overflow: hidden;}span {z-index: 20;}button:after {content: '';display: block;position: absolute;background: white;width: 50px;height: 125px;opacity: 20%;transform: rotate(-45deg);top: -36px;left: -100px;}button:hover:after {left: 120%;transition: all 600ms cubic-bezier(0.3, 1, 0.2, 1);-webkit-transition: all 600ms cubic-bezier(0.3, 1, 0.2, 1);}

登录后复制

PHP中文网平台有非常多的视频教学资源,欢迎大家学习《css视频教程》!

以上就是手把手教你使用CSS3实现按钮悬停闪烁动态特效的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2872062.html

(0)
上一篇 2025年3月10日 18:40:02
下一篇 2025年3月10日 18:40:13

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论