使用CSS3实现按钮悬停闪烁动态特效代码


Posted in HTML / CSS onAugust 30, 2021

我们介绍了使用CSS3 column系列属性创建瀑布流布局的方法,感兴趣的朋友可以去了解一下~

我们先来看看效果图

使用CSS3实现按钮悬停闪烁动态特效代码

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

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

<div id="shiny-shadow">
 <button><span>鼠标悬停</span></button>
</div>

使用CSS3实现按钮悬停闪烁动态特效代码

然后开始定义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;
}

使用CSS3实现按钮悬停闪烁动态特效代码

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

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

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

使用CSS3实现按钮悬停闪烁动态特效代码

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

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

使用CSS3实现按钮悬停闪烁动态特效代码

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

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

使用CSS3实现按钮悬停闪烁动态特效代码

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

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

使用CSS3实现按钮悬停闪烁动态特效代码

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);
}

使用CSS3实现按钮悬停闪烁动态特效代码

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

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

button {
  overflow: hidden;
}

使用CSS3实现按钮悬停闪烁动态特效代码

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

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

使用CSS3实现按钮悬停闪烁动态特效代码

以上就是使用CSS3实现按钮悬停闪烁动态特效的详细内容。

到此这篇关于使用CSS3实现按钮悬停闪烁动态特效的文章就介绍到这了,更多相关CSS3按钮悬停闪烁动态内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3 3D位移translate效果实例介绍
May 03 HTML / CSS
实例讲解使用CSS实现多边框和透明边框的方法
Sep 08 HTML / CSS
利用CSS3实现文字折纸效果实例代码
Jul 10 HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
Mar 10 HTML / CSS
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
Jan 06 HTML / CSS
html5指南-6.如何创建离线web应用程序实现离线访问
Jan 07 HTML / CSS
详解使用双缓存解决Canvas clearRect引起的闪屏问题
Apr 29 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
Sep 30 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
Aug 13 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
Nov 26 HTML / CSS
详解Html5项目适配系统深色模式方案总结
Apr 14 HTML / CSS
深入理解margin塌陷和margin合并的解决方案
Jun 26 HTML / CSS
深入理解CSS 中 transform matrix矩阵变换问题
Aug 30 #HTML / CSS
CSS+HTML 实现顶部导航栏功能
Aug 30 #HTML / CSS
HTML5 语义化标签(移动端必备)
Aug 23 #HTML / CSS
CSS3 Tab动画实例之背景切换动态效果
Aug 23 #HTML / CSS
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
如何使用 resize 实现图片切换预览功能
Aug 23 #HTML / CSS
css中z-index: 0和z-index: auto的区别
Aug 23 #HTML / CSS
You might like
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
浅析PHP开发规范
2018/02/05 PHP
javascript整除实现代码
2010/11/23 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
javascript实现留言板功能
2020/02/08 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
django中模板的html自动转意方法
2018/05/27 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
Python 一句话生成字母表的方法
2019/01/02 Python
python实现接口并发测试脚本
2019/06/25 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
客服部班长工作责任制
2014/02/25 职场文书
个人自我剖析材料
2014/09/30 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
Python 制作自动化翻译工具
2021/04/25 Python
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android