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垂直手风琴菜单
Jun 28 HTML / CSS
深入理解css中vertical-align属性
Apr 18 HTML / CSS
详解HTML5中垂直上下居中的解决方案
Dec 20 HTML / CSS
socket.io 和canvas 实现的共享画板功能
May 22 HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
Dec 13 HTML / CSS
HTML5操作WebSQL数据库的实例代码
Aug 26 HTML / CSS
如何给HTML标签中的文本设置修饰线
Nov 18 HTML / CSS
html5给汉字加拼音加进度条的实现代码
Apr 07 HTML / CSS
AmazeUI 点击元素显示全屏的实现
Aug 25 HTML / CSS
移动端HTML5 input常见问题(小结)
Sep 28 HTML / CSS
HTML实现仿Windows桌面主题特效的实现
Jun 28 HTML / CSS
新的CSS 伪类函数 :is() 和 :where()示例详解
Aug 05 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中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
python中base64加密解密方法实例分析
2015/05/16 Python
常用python编程模板汇总
2016/02/12 Python
python 统计代码行数简单实例
2017/05/04 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
Selenium定位元素操作示例
2018/08/10 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
详解python对象之间的交互
2020/09/29 Python
python request 模块详细介绍
2020/11/10 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
ORACLE十问
2015/04/20 面试题
中学生家长评语大全
2014/04/16 职场文书
高中学生评语大全
2014/04/25 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL