使用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旋转起来
May 03 HTML / CSS
CSS中的字体大小设置属性总结
May 24 HTML / CSS
css3中less实现文字长阴影(long shadow)
Apr 24 HTML / CSS
CSS3 实现的火焰动画
Dec 07 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
Mar 01 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
Jul 10 HTML / CSS
html5-Canvas可以在web中绘制各种图形
Dec 26 HTML / CSS
HTML5中drawImage用法分析
Dec 01 HTML / CSS
html5实现完美兼容各大浏览器的播放器
Dec 26 HTML / CSS
10个最常见的HTML5面试题 附答案
Jun 06 HTML / CSS
phonegap常用事件总结(必看篇)
Mar 31 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
Jan 08 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
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
PHP strripos函数用法总结
2019/02/11 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
java、javascript实现附件下载示例
2014/08/14 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
javascript表单正则应用
2017/02/04 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
Sanic框架流式传输操作示例
2018/07/18 Python
Python线程指南分享
2019/11/19 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
Python错误的处理方法
2020/06/23 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
仓管员岗位责任制
2014/02/19 职场文书
怎么写好自荐书
2014/03/02 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
导游词之五台山
2019/10/11 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang
MySQL空间数据存储及函数
2021/09/25 MySQL