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的transition效果和transfor效果示例介绍
Oct 30 HTML / CSS
纯CSS实现菜单、导航栏的3D翻转动画效果
Apr 23 HTML / CSS
基于Jquery和Css3代码制作可以缩放的搜索框
Nov 19 HTML / CSS
CSS3哪些新特性值得称赞
Mar 02 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
Jun 08 HTML / CSS
详解Sticky Footer 绝对底部的两种套路
Nov 03 HTML / CSS
localStorage 设置过期时间的方法实现
Dec 21 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(一)
Jan 21 HTML / CSS
5个你不知道的HTML5的接口介绍
Aug 07 HTML / CSS
HTML5微信播放全屏问题的解决方法
Mar 09 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
Aug 28 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
Oct 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
p5.js入门教程之平滑过渡(Easing)
2018/03/16 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
python实现文本文件合并
2015/12/29 Python
Python使用gRPC传输协议教程
2018/10/16 Python
Python中按键来获取指定的值
2019/03/02 Python
Python控制Firefox方法总结
2019/06/03 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python mysql中in参数化说明
2020/06/05 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
结构和类有什么异同
2012/07/16 面试题
一些Solaris面试题
2013/03/22 面试题
新闻编辑自荐信
2013/11/03 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
教师工作证明范本
2015/06/12 职场文书
python函数的两种嵌套方法使用
2022/04/02 Python
python画条形图的具体代码
2022/04/20 Python