CSS3 实现发光边框特效

  发布时间:2020-11-11 16:49:13   作者:ViktorKorolyuk   我要评论
这篇文章主要介绍了CSS3 实现发光边框特效,帮助大家更好的理解和制作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 发光边框特效的资料请关注脚本之家其它相关文章!

相关文章

  • 一文教你玩转CSS border(边框)

    这篇文章主要介绍了一文教你玩转CSS border(边框),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-19
  • CSS 奇思妙想边框动画效果的实现

    这篇文章主要介绍了CSS 奇思妙想边框动画效果的实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-18
  • CSS3 按钮边框动画的实现

    这篇文章主要介绍了CSS3 按钮边框动画的实现,帮助大家更好的理解和使用CSS3,美化自身网页,感兴趣的朋友可以了解下
    2020-11-12
  • 两款纯CSS3鼠标经过按钮边框动画特效

    两款纯CSS3鼠标经过按钮边框动画特效是一款纯CSS3实现的边框按钮特效,鼠标经过或者悬停的时候显示边框动画效果。
    2020-11-09
  • 一篇文章带你学习CSS3图片边框

    这篇文章主要介绍了一篇文章带你学习CSS3图片边框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-04
  • css3多种边框悬停按钮填色动画特效

    css3多种边框悬停按钮填色动画特效是一款简单的长方形边框按钮,鼠标移入各种遮罩变色动画特效。本脚本为css3+jquery特效脚本,喜欢大家喜欢
    2020-08-13
  • css 透明边框background-clip妙用

    这篇文章主要介绍了css 透明边框background-clip妙用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学
    2019-12-25
  • CSS3实现缺角矩形,折角矩形以及缺角边框

    这篇文章主要介绍了CSS3实现缺角矩形,折角矩形以及缺角边框,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来
    2019-12-20
  • CSS边框长度控制功能的实现

    这篇文章主要介绍了CSS边框长度控制功能的实现,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-27
  • CSS实现半透明边框与多重边框的场景分析

    本文分两种场景给大家介绍CSS实现半透明边框与多重边框效果,感兴趣的朋友跟随小编一起看看吧
    2019-11-13

最新评论