使用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中的5个有趣的新技术
Apr 02 HTML / CSS
让IE可以变相支持CSS3选择器
Jan 21 HTML / CSS
用纯css3实现的图片放大镜特效效果非常不错
Sep 02 HTML / CSS
CSS3圆角和渐变2种常用功能详解
Jan 06 HTML / CSS
详解CSS3的box-shadow属性制作边框阴影效果的方法
May 10 HTML / CSS
CSS3贝塞尔曲线示例:创建链接悬停动画效果
Nov 19 HTML / CSS
几个解决兼容IE6\7\8不支持html5标签的几个方法
Jan 07 HTML / CSS
html5配合css3实现带提示文字的输入框(摆脱js)
Mar 08 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
Oct 26 HTML / CSS
canvas学习和滤镜实现代码
Aug 22 HTML / CSS
css3 filter属性的使用简介
Mar 31 HTML / CSS
新的CSS 伪类函数 :is() 和 :where()示例详解
Aug 05 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的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
jQuery $.extend()用法总结
2014/06/15 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
js匿名函数使用&amp;传参(实例)
2017/09/08 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
使用Python实现博客上进行自动翻页
2017/08/23 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
python样条插值的实现代码
2018/12/17 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
thinkphp5 路由分发原理
2021/03/18 PHP
怎样声明接口
2014/09/19 面试题
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
工程项目经理岗位职责
2013/12/15 职场文书
2015元旦节寄语
2014/12/08 职场文书
万能检讨书
2015/01/27 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python