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制作ajax loader icon实现思路及代码
Aug 25 HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
HTML5 Geolocation API的正确使用方法
Dec 04 HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
Sep 13 HTML / CSS
html5中去掉input type date默认样式的方法
Sep 06 HTML / CSS
HTML5的革新 结构之美
Jun 20 HTML / CSS
使用html5制作loading图的示例
Apr 14 HTML / CSS
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
May 08 HTML / CSS
如何利用input事件来监听移动端的输入
Apr 15 HTML / CSS
html5 canvas的绘制文本自动换行的示例代码
Sep 17 HTML / CSS
HTML实现代码雨源码及效果示例
Feb 25 HTML / CSS
AmazeUI 点击元素显示全屏的实现
Aug 25 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
基于node.js实现微信支付退款功能
2017/12/19 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
Python入门篇之条件、循环
2014/10/17 Python
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
利用Python开发实现简单的记事本
2016/11/15 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
win10安装python3.6的常见问题
2020/07/01 Python
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
附答案的Java面试题
2012/11/19 面试题
商务日语专业毕业生自荐信
2014/03/27 职场文书
加入学生会演讲稿
2014/04/24 职场文书
公司建议书怎么写
2014/05/15 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
课外活动总结范文
2014/07/09 职场文书
人才市场接收函
2015/01/30 职场文书
职工宿舍管理制度
2015/08/05 职场文书
教师理论学习心得体会
2016/01/21 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
Win11黑色桌面背景怎么办?Win11黑色壁纸解决方法汇总
2022/04/05 数码科技
python blinker 信号库
2022/05/04 Python