• 文本自动输入/删除的加载动画效果


    效果展示

    在这里插入图片描述
    在这里插入图片描述

    CSS 知识点

    • 绕矩形四周跑的光柱动画实现
    • animation 属性的 steps 属性值运用

    页面基础结构实现

    <div class="loader">
      
      <span>span>
      <span>span>
      <span>span>
      <span>span>
      <h3>Loading...h3>
    div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    实现矩形基础样式

    .loader {
      position: relative;
      width: 200px;
      height: 200px;
      background-color: #1a1a1f;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: 0.5s;
      color: #fff;
      /* overfolow 属性只要是隐藏光柱,因为光柱的动画是绝对定位属性来实现的 */
      overflow: hidden;
      -webkit-box-reflect: below 1px linear-gradient(transparent, #0004);
    }
    
    .loader:hover {
      background: #03e9f4;
      color: #050801;
      box-shadow: 0 0 5px #03e9f4, 0 0 25px #03e9f4, 0 0 50px #03e9f4, 0 0 200px
          #03e9f4;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    实现矩形四周光柱基础布局

    要实现光柱绕着矩形跑的效果,我们可以让四个光柱这样布局,然后使用动画和动画延迟属性来让光柱进行动画执行。

    在这里插入图片描述

    /* 剩余的几个光柱只要修改绝对定位的数值就可以 */
    .loader span:nth-child(1) {
      top: 0;
      left: -100%;
      width: 100%;
      height: 5px;
      background: linear-gradient(90deg, transparent, #03e9f4);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    实现四周光柱绕着矩形进行动画

    /* 剩余的几个光柱主要修改动画延迟时间就可以,动画延迟间隔可以定位0.5秒 */
    .loader span:nth-child(1) {
      animation: animate1 2s linear infinite;
      animation-delay: 0s;
    }
    
    /* 剩余的几个光柱动画,我们只要修改对应的绝对定位值就可以,这里的动画进行可以自行修改 */
    @keyframes animate1 {
      0% {
        left: -100%;
      }
      50%,
      100% {
        left: 100%;
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    实现文本自动输入和删除动画

    .loader h3 {
      font-family: consolas;
      color: #03e9f4;
      overflow: hidden;
      letter-spacing: 2px;
      transition: 0.5s;
      border-right: 1px solid #03e9f4;
      /* steps 设置动画的间隔 */
      animation: typing 5s steps(10) infinite;
    }
    
    .loader:hover h3 {
      color: #111;
      border-right: 1px solid #111;
    }
    
    @keyframes typing {
      /* 影响文字输入的动画速度 */
      0%,
      90%,
      100% {
        width: 0px;
      }
      /* 影响文字删除的动画速度 */
      30%,
      60% {
        width: 123.88px;
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    完整代码下载

    完整代码下载

  • 相关阅读:
    一场直播脚本的策划及话术怎么写?
    std::any和枚举类转换
    三个高级参数:out、ref、params(本章为params参数)
    fastadmin分类下拉(多级分类)使用教程
    centos8 Error: Failed to download metadata for repo ‘appstream‘
    CVE-2021-42278 & CVE-2021-42287 漏洞利用
    『开源资讯』JimuReport 积木报表 v1.6.5 版本发布 — 免费报表工具
    详细解释Informer模型的各部分
    基于RASC的keil电子时钟制作(瑞萨RA)(7)----配置RTC时钟及显示时间
    leetcode: 122. 买卖股票的最佳时机II
  • 原文地址:https://blog.csdn.net/qq_33003143/article/details/133691819