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效果附图
Sep 03 HTML / CSS
CSS3实现超酷的黑猫警长首页
Apr 26 HTML / CSS
CSS3实现文字波浪线效果示例代码
Nov 20 HTML / CSS
html5调用摄像头功能的实现代码
May 07 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
Dec 20 HTML / CSS
Html5新增标签有哪些
Apr 13 HTML / CSS
canvas仿写贝塞尔曲线的示例代码
Dec 29 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
Jul 12 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
Sep 06 HTML / CSS
html5移动端自适应布局的实现
Apr 15 HTML / CSS
如何利用 CSS Overview 面板重构优化你的网站
Oct 24 HTML / CSS
css清除浮动clearfix:after的用法详解(附完整代码)
May 21 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
盘点被央视点名过的日本动画电影 一部比一部强
2020/03/08 日漫
默默简单的写了一个模板引擎
2007/01/02 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
关于query Javascript CSS Selector engine
2013/04/12 Javascript
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
门前三包责任书
2014/04/15 职场文书
主要负责人任命书
2014/06/06 职场文书
师范生见习自我总结
2015/06/23 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB