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 相关文章推荐
常用的四种CSS透明属性介绍
Apr 12 HTML / CSS
css3圆角边框和边框阴影示例
May 05 HTML / CSS
css3的transform造成z-index无效解决方案
Dec 04 HTML / CSS
基于html和CSS3制作酷炫的导航栏
Sep 23 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
Apr 26 HTML / CSS
CSS3实现伪类hover离开时平滑过渡效果示例
Aug 10 HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
Mar 10 HTML / CSS
HTML5 File API改善网页上传功能
Aug 19 HTML / CSS
HTML5之SVG 2D入门8—文档结构及相关元素总结
Jan 30 HTML / CSS
html5本地存储 localStorage操作使用详解
Sep 20 HTML / CSS
html5使用Drag事件编辑器拖拽上传图片的示例代码
Aug 22 HTML / CSS
纯CSS3实现div按照顺序出入效果
Jul 15 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初学者阅读的4本经典书籍
2016/09/23 PHP
range 标准化之获取
2011/08/28 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
python使用心得之获得github代码库列表
2014/06/25 Python
Python正则表达式匹配ip地址实例
2014/10/09 Python
python操作字典类型的常用方法(推荐)
2016/05/16 Python
Python正则表达式经典入门教程
2017/05/22 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
python实现拼接图片
2020/03/23 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
市三好学生主要事迹
2014/01/28 职场文书
财经学院自荐信范文
2014/02/02 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
党校培训学习心得体会
2016/01/06 职场文书
培训心得体会怎么写
2016/01/25 职场文书
gojs实现蚂蚁线动画效果
2022/02/18 Javascript