CSS3 按钮边框动画的实现


Posted in HTML / CSS onNovember 12, 2020

先看效果:

CSS3 按钮边框动画的实现

html

<a href="#">
  <span></span>
  <span></span>
  <span></span>
  <span></span>
  Move on
</a>

css3

body {
  margin: 0;
  padding: 0;
  background-color: #035f3c;
}

a {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  color: #16f03a;
  padding: 30px 60px;
  font-size: 30px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  /* to delete length of animation lines: */
  overflow: hidden;
}

a:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  bottom: 2px;
  width: 50%;
  background: rgba(255, 255, 255, 0.05);
}

a span:nth-child(1) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #035f3c, #16f03a);
  animation: animate1 2s linear infinite;
  -webkit-animation: animate1 2s linear infinite;
}

@keyframes animate1 {
  0% {
    transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
  }
}

a span:nth-child(2) {
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, #035f3c, #16f03a);
  animation: animate2 2s linear infinite;
  -webkit-animation: animate2 2s linear infinite;
  /* add delay to have continuity on effect*/
  animation-delay: 1s;
}

@keyframes animate2 {
  0% {
    transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
  }
}

a span:nth-child(3) {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to left, #035f3c, #16f03a);
  animation: animate3 2s linear infinite;
  -webkit-animation: animate3 2s linear infinite;
}

@keyframes animate3 {
  0% {
    transform: translateX(100%);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
  }
}

a span:nth-child(4) {
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to top, #035f3c, #16f03a);
  animation: animate4 2s linear infinite;
  -webkit-animation: animate4 2s linear infinite;
  /* add delay to have continuity on effect*/
  animation-delay: 1s;
}

@keyframes animate4 {
  0% {
    transform: translateY(100%);
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
  }
  100% {
    transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
  }
}

以上就是CSS3 按钮边框动画的实现的详细内容,更多关于CSS3 按钮边框动画的资料请关注三水点靠木其它相关文章!

HTML / CSS 相关文章推荐
纯css3实现鼠标经过图片显示描述的动画效果
Sep 01 HTML / CSS
浅谈HTML5 defer和async的区别
Jun 07 HTML / CSS
HTML5安全介绍之内容安全策略(CSP)简介
Jul 10 HTML / CSS
HTML5教程之html 5 本地数据库(Web Sql Database)
Apr 03 HTML / CSS
html5 跨文档消息传输示例探讨
Apr 01 HTML / CSS
html5+css3气泡组件的实现
Nov 21 HTML / CSS
详解HTML5中表单验证的8种方法介绍
Dec 19 HTML / CSS
浅析HTML5:'data-'属性的作用
Jan 23 HTML / CSS
HTML5自定义视频播放器源码
Jan 06 HTML / CSS
html+css实现赛博朋克风格按钮
May 26 HTML / CSS
纯html+css实现Element loading效果
Aug 02 HTML / CSS
CSS3实现360度循环旋转功能
Feb 12 HTML / CSS
CSS3 实现发光边框特效
Nov 11 #HTML / CSS
CSS 说明横向进度条最后显示文字的实现代码
Nov 10 #HTML / CSS
CSS3制作3D立方体loading特效
Nov 09 #HTML / CSS
CSS3实现莲花绽放的动画效果
Nov 06 #HTML / CSS
CSS3制作圆形滚动进度条动画的示例
Nov 05 #HTML / CSS
CSS实现进度条和订单进度条的示例
Nov 05 #HTML / CSS
一篇文章带你学习CSS3图片边框
Nov 04 #HTML / CSS
You might like
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
Javascript UrlDecode函数代码
2010/01/09 Javascript
jquery 经典动画菜单效果代码
2010/01/26 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
jquery中实现标签切换效果的代码
2011/03/01 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
2014/04/10 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
2018/06/11 Python
python Django 创建应用过程图示详解
2019/07/29 Python
原生python实现knn分类算法
2019/10/24 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
小学红领巾中秋节广播稿
2014/01/13 职场文书
公司放假通知范文
2015/04/14 职场文书
篮球赛新闻稿
2015/07/17 职场文书
mysql 获取时间方式
2022/03/20 MySQL