×

CSS3动画:模拟canvas酷炫特效

作者:Web前端之家2020.11.13来源:Web前端之家浏览:347评论:0
关键词:HTMLCSS3
微信公众号

微信公众号

CSS3动画:模拟canvas酷炫特效。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>实现发光边框特效 - Web前端之家https://jiangweishan.com/</title>
    <style>
        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;
        }
      }
    </style>
</head>
<body>
  <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>

    <script>
        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")
            
     
    </script>
</body>
</html>


温馨提示:本文作者系Web前端之家 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/html20201113a1.html

网友评论文明上网理性发言 已有0人参与

发表评论:

最新留言

  • Web前端之家

    其实也不奇怪,有些知识用得少的话,时间久了容易被遗忘。...

  • qianduan

    惭愧啊,我只知道console.log,用的最多的就是这个了。...

  • 访客

    是VS不得不...

  • 访客

    这个页面不是很友好啊...

  • vag13

    不错,正好遇到这个问题,感谢分享...

  • 访客

    第三方的闪光点复合弓...

  • Web前端之家

    后续会出vue3.0教程呢,等待~~...

  • qiqndu

    VUE3.0没教程吗,可以出些啊...

首页|JavaScript|HTML|HTML4|HTML5|CSS3|开发工具|性能优化|移动开发|前端教程|性能优化|开发工具|酷站欣赏|UI设计|前端教程

Copyright © 2020 Web前端之家(www.jiangweishan.com) 版权所有 All Rights Reserved.
粤ICP备12067512号-1

Copyright Your WebSite.Some Rights Reserved.

Powered By Z-BlogPHP 1.6.5 Valyria