惊艳的无限循环加载动画|8月更文挑战

839 阅读2分钟

这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战

作者:battleKing
仓库:GithubCodePen
博客:CSDN掘金
反馈邮箱:myh19970701@foxmail.com
特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系笔者授权

背景

在用户心目中,优秀的应用、工具、网站都应该是制作精良且能快速响应他们需求的产品。以前我在发布一款产品的第一版时,登录验证的 loading... 延迟是 2-3秒,结果当天反馈邮箱就被用户挤爆了,大部分用户都认为这几秒是一个界面突然卡住是 软件BUG ,其实只是我们 验证登录信息 而已,所以如果没有 加载动画 告知用户我们在验证登录信息而只是让软件卡住不动的话,这是一种 非常不好的用户体验 ,虽然早期用户可能会给你的产品第二次机会,但绝大多数人对这款产品失去信息,不再使用,导致用户大量流失

解决方案:使用 加载动画,提供 即使反馈减少用户焦虑

加载动画分类进度条加载动画无限循环加载动画骨架图加载动画

优秀的加载动画特征

  1. 核心是 减少动画时间
  2. 给出 具体时间
  3. 告诉用户 为什么需要等待
  4. 让等待的过程不那么让人无聊 使用有趣的动画
  5. 减少用户等待时间的心理感知 色彩某个相关知识某条产品操作教学
  6. 透传公司品牌形象 公司理念公司价值观公司的标志吉祥物

最终效果

amazing-loading.gif

一、添加 HTML 文件

<div class="loader">Loading . . .</div>

二、添加 CSS 文件

先初始化页面

  1. 设置 *box-sizing: border-box
  2. 设置 body 来使整个项目居中
* {
  box-sizing: border-box;
}
body {
  display: flex;
  background: #eaecfa;
  align-items: center;
  justify-content: center;
  height: 100vh;
  overflow: hidden;
  margin: 0;
}

声明 CSS 全局变量

  1. CSS 全局变量声明在 :root 文档根元素中,语法为 --*
  2. CSS 全局变量使用语法为 var(--*)
:root {
    --color-loader: #ce4233;
}

主要的 CSS 代码

.loader {
    width: 250px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-transform: uppercase;
    font-weight: 900;
    color: var(--color-loader);
    letter-spacing: 0.2em;
}

.loader::before,
.loader::after {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background: var(--color-loader);
    position: absolute;
    animation: load .7s infinite alternate ease-in-out;
}

.loader::before {
    top: 0;
}

.loader::after {
    bottom: 0;
}


@keyframes load {
    0% {
        left: 0;
        width: 15px;
        height: 30px;
    }

    50% {
        width: 40px;
        height: 8px;
    }

    100% {
        left: 235px;
        width: 15px;
        height: 30px;
    }
}

❤️ 感谢大家

如果本文对你有帮助,就点个赞支持下吧,你的「赞」是我创作的动力。

如果你喜欢这篇文章的话,可以「点赞」 + 「收藏」 + 「转发」 给更多朋友。