CSS3 实现发光边框特效


Posted in HTML / CSS onNovember 11, 2020

运行效果:

CSS3 实现发光边框特效

html

<!-- This element is not visible. The DOM is generated by JavaScript -->
<div class="root" style="display: none;">
  <div>
    <div class="side left"></div>
    <div class="side top"></div>
    <div class="side right"></div>
    <div class="side bottom"></div>
  </div>
</div>

CSS

body {
  margin: 0;
  width: 100vw;
  height: 100vh;
  background: #010326;
}

.root {
  --glow_width: 2px;
  --animation_length: 2s;
  --delay_factor: 2;

  position: absolute;
  left: 50%;
  top: 50%;
  width: 300px;
  height: 300px;
  transform: translate(-50%, -50%) rotate(45deg);

/*  Uncomment the line below to see how this system is set up  */
/*   border: 1px dashed red; */
  overflow: hidden;
}

.side {
  position: absolute;
  top: 0;
  left: 0;
}

.side.left,
.side.right {
  width: var(--glow_width);
  height: 0;
  background: linear-gradient(to bottom, transparent, #c03225, transparent);
  animation: heightAnim var(--animation_length) linear infinite,
    hider calc(var(--delay_factor) * var(--animation_length))
      var(--animation_length) infinite;
}

.side.top,
.side.bottom {
  width: 100%;
  height: var(--glow_width);
  background: linear-gradient(to left, transparent, #c03225, transparent);
  animation: widthAnim var(--animation_length) 0s linear infinite,
    hider calc(var(--delay_factor) * var(--animation_length))
      var(--animation_length) infinite;
}

.side.right {
  left: auto;
  right: 0;
  height: 0;
  animation-delay: calc(var(--animation_length) / 2);
  animation-direction: normal, reverse;
}

.side.bottom {
  top: auto;
  bottom: 0;
  width: 0;
  animation-delay: calc(var(--animation_length) / 2);
  animation-direction: normal, reverse;
}

@keyframes heightAnim {
  0% {
    height: 0px;
  }
  50% {
    height: 300px;
    transform: initial;
  }
  100% {
    transform: translate(0, 300px);
  }
}

@keyframes widthAnim {
  0% {
    width: 0px;
  }
  50% {
    width: 300px;
    transform: initial;
  }
  100% {
    transform: translate(300px, 0px);
  }
}

@keyframes hider {
  0%,
  50% {
    opacity: 0;
  }
  51%,
  100% {
    opacity: 1;
  }
}

js

let template = `<div class="root" style="transform: translate(-50%, -50%) rotate({{ value }})">
<div>
    <div class="side left"></div>
    <div class="side top"></div>
    <div class="side right"></div>
    <div class="side bottom"></div>
  </div>
</div>`

let segments = 9
for(let i = -segments; i < segments; i++){
  document.body.innerHTML += template.replace("{{ value }}", 90/segments * i + "deg")
}

// document.body.innerHTML += template.replace("{{ value }}", 90/segments * 0 + "deg")

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

HTML / CSS 相关文章推荐
CSS3 3D立方体效果示例-transform也不过如此
Dec 05 HTML / CSS
让IE6支持css3,让 IE7、IE8 都支持CSS3
Oct 09 HTML / CSS
CSS3实现DIV圆角效果完整代码
Oct 10 HTML / CSS
使用before和:after伪类制作css3圆形按钮
Apr 08 HTML / CSS
基于DOM+CSS3实现OrgChart组织结构图插件
Mar 02 HTML / CSS
简单几步用纯CSS3实现3D翻转效果
Jan 17 HTML / CSS
css3进阶之less实现星空动画的示例代码
Sep 10 HTML / CSS
html5 input元素新特性_动力节点Java学院整理
Jul 06 HTML / CSS
html5中valid、invalid、required的定义
Feb 21 HTML / CSS
html5+css3气泡组件的实现
Nov 21 HTML / CSS
html5各种页面切换效果和模态对话框用法总结
Dec 15 HTML / CSS
css3 选择器
May 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
CSS3实现时间轴特效
Nov 02 #HTML / CSS
You might like
PHP如何编写易读的代码
2007/07/10 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
php实现微信模板消息推送
2018/03/30 PHP
PHP echo()函数讲解
2019/02/15 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
python分割和拼接字符串
2013/11/01 Python
Python 转义字符详细介绍
2017/03/21 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
Django使用Celery异步任务队列的使用
2018/03/13 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
python实现简单学生信息管理系统
2020/04/09 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
理工类毕业自我鉴定
2014/02/20 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
党员个人对照检查材料
2014/10/01 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
化工厂员工工作总结
2015/10/15 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python