有趣的CSS - css loading动画

Loading动画

整体效果

这个 Loading 效果主要用 css3 的 animation 属性配合 border 属性来实现的。

可以用作在下拉列表 Loading,也可以用作 app 页面下拉刷新时使用。

Less is more,用最少的代码实现满意的效果。


核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。

核心代码

html 代码:

html 复制代码
<div class="loading"></div>

写出 loading 主体代码。

css 部分代码:

css 复制代码
.loading {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 0, 0, 0.2);  /*  设置整体边框背景颜色*/
  border-top-color: #000000;  /* 单独设置顶部边框颜色来表示动态部分 */
  border-radius: 50%;
  animation: loading 1s linear infinite;  /* 设置循环动画参数 */
}

@keyframes loading {
  to {
    transform: rotate(360deg);  /* 设置旋转360度 */
  }
}

css 部分主要设置边框颜色来实现整体边框配合顶部边框模拟加载状态,然后使用 animation 来实现整体旋转。


完整代码如下

html 页面:

html 复制代码
<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    <title>loading</title>
  </head>
  <body>
    <div class="app">
      <div class="loading"></div>
    </div>
  </body>
</html>

css 样式:

css 复制代码
/** style.css **/
.app{
    width: 100%;
    height: 100vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loading {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(0, 0, 0, 0.2);
    border-top-color: #000000;
    border-radius: 50%;
    animation: loading 1s linear infinite;
}

@keyframes loading {
    to {
        transform: rotate(360deg);
    }
}

页面渲染效果:

以上就是所有代码,css3 有很多好玩的属性,可以实现非常多的效果,让页面视觉变的更丰富多彩!

这个加载动画的写法希望可以帮助到你可以 get 到新想法。


1 原文阅读

我是 Just,这里是「设计师工作日常」,求点赞求关注!skr~ skr~

相关推荐
Agent世界7 小时前
用 CDP 做发布自动化:四道机器闸门与产物验收
前端·javascript
FungLeo7 小时前
成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
前端·vue.js·编辑器·markdown·文件上传·formdata·附件管理
某哈压力大7 小时前
SSH 突然 Connection reset?不是密钥坏了,是 OpenSSL 把 sshd 干趴了
前端·node.js·命令行
程序员大阳7 小时前
副队长ES6+教程(3)--解构赋值
前端·javascript·es6·赋值·解构
神膘护体小月半7 小时前
css - 元素背景图由 hover 触发,初次加载时闪动的解决办法
前端·javascript·css
程序员大阳8 小时前
副队长ES6+教程(2)--let 与 const
前端·javascript·es6·const·let·var
deli0078 小时前
写满 200GB 后 SSD 为什么掉到 95MB/s?SLC 缓存模型实测
前端
曦樂~9 小时前
【Web Development】03JavaScript 基础和事件
开发语言·前端·javascript
deli0079 小时前
HTTPS 的锁是怎么挂上的?TLS 1.3 握手 6 步实测
前端
程序员大阳9 小时前
副队长ES6+教程(1)--ES6+初识
前端·ecmascript·es6