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过渡_动力节点Java学院整理
Jul 11 HTML / CSS
两种CSS3伪类选择器详细介绍
Dec 24 HTML / CSS
使用CSS3来制作消息提醒框
Jul 12 HTML / CSS
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
Dec 20 HTML / CSS
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
Aug 18 HTML / CSS
css3动画 小球滚动 js控制动画暂停
Nov 29 HTML / CSS
Html5上传图片 移动端、PC端通用代码
Jun 08 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
Dec 13 HTML / CSS
html5 web本地存储将取代我们的cookie
Dec 26 HTML / CSS
HTML5视频支持检测(检查浏览器是否支持视频播放)
Jun 08 HTML / CSS
html5使用canvas画空心圆与实心圆
Dec 15 HTML / CSS
AmazeUI 网格的实现示例
Aug 13 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提交表单失败后如何保留已经填写的信息
2014/06/20 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
微信小程序实现天气预报功能
2018/07/18 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
捐资助学倡议书
2014/04/15 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
化验室岗位职责
2015/02/14 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
Python基础之条件语句详解
2021/06/16 Python
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers