手把手教你使用CSS3实现按钮悬停闪烁动态特效
时间:2021-09-06
来源:互联网
标签:
今天PHP爱好者给大家带来手把手教你使用CSS3实现按钮悬停闪烁动态特效的做法,在之前的文章《纯CSS3怎么创建瀑布流布局?columns方法浅析》中,我们介绍了使用CSS3 column系列属性创建瀑布流布局的方法,感兴趣的朋友可以去了解一下~而今天我们来看看使用CSS3怎么给按钮添加动态效果,实现一个按钮悬停闪亮阴影动画效果,让网页互动性更强,更吸引人!希望对大家有所帮助。
我们先来看看效果图
下面我们来研究一下是怎么实现这个效果的:
首先是HTML部分,定义一个p容器包裹button按钮,在按钮中使用<span>标签对来包含按钮文本
<p id="shiny-shadow">
<button><span>鼠标悬停</span></button>
</p>
然后开始定义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;
}
接着制作一闪而过的覆盖层:
使用
:after
选择器制作一个带透明度的长方形,让它相对于button按钮进行绝对定位
button {
position: relative;
}
button:after {
content: '';
display: block;
position: absolute;
background: white;
width: 50px;
height: 125px;
opacity: 20%;
}
在最终效果中,一闪而过的是一个倾斜的长方形;因此我们添加一个
transform: rotate(-45deg);
样式
button:after {
transform: rotate(-45deg);
}
使用top属性和left属性控制长方形的位置
button:after {
top: -2px;
left: -1px;
}
最后实现按钮悬停闪烁动画特效
因为是悬停效果,所以要使用到
:hover
选择器;我们要设置鼠标悬停时长方形的位置
button:hover:after {
left: 120%;
}
这样突然变换位置不是我们要的效果,可以使用
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);
}
大致实现了,再修饰一下。
只想要button按钮范围内显示长方形覆盖层,那么可给button标签添加一个overflow: hidden;
样式
button {
overflow: hidden;
}
可以看出覆盖层的位置还有点问题,最终效果中覆盖层一开始是不显示的,我们使用top属性和left属性来调整一下
button:after {
top: -36px;
left: -100px;
}
OK,大功告成!下面附上完整代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/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;
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);
}
</style>
</head>
<body>
<p id="shiny-shadow">
<button><span>鼠标悬停</span></button>
</p>
</body>
</html>
以上就是手把手教你使用CSS3实现按钮悬停闪烁动态特效的详细内容,更多请关注php爱好者其它相关文章!
-
如何注册谷歌账号(谷歌账号注册方法) 怎么跳过手机验证 时间:2025-09-29
-
access数据库8个经典实例 时间:2025-09-29
-
mmc.exe是什么进程 mmc.exe应用程序错误的原因及解决方法 时间:2025-09-29
-
4种基本的编程命名规范介绍(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法) 时间:2025-09-29
-
Ghostscript下载、安装教程 Ghostscript命令参数详解 时间:2025-09-29
-
Linux中内存管理NUMA架构详解 时间:2025-09-29
今日更新
-
辉烬手游氪金买什么-辉烬氪金推荐
阅读:18
-
燕云十六声不见山跑图-地图探索查缺补漏
阅读:18
-
逆水寒手游育宠图鉴-普通级白嫖锦囊怎么获得
阅读:18
-
无限暖暖丰收季趣味玩法-神秘扇贝大搜查任务流程
阅读:18
-
如鸢隆冬洞窟-10月太史慈蔡琰洞窟通关记录
阅读:18
-
Kava币安交易所APP:DeFi生态代币一键投资指南
阅读:18
-
重返未来:1999迷思海-450-3温妮智灵双c配队
阅读:18
-
斗罗大陆诛邪传说家园怎么建-家园建设方法
阅读:18
-
苏霍梗是什么梗揭秘网络热词背后的搞笑故事,快速了解最新流行语
阅读:18
-
逆水寒潮光怎么搭配-潮光最新pve秒伤
阅读:18