有趣的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~

相关推荐
Devil枫24 分钟前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
尚梦1 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
GIS程序媛—椰子2 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js
前端青山2 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
毕业设计制作和分享2 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
清灵xmf4 小时前
在 Vue 中实现与优化轮询技术
前端·javascript·vue·轮询
大佩梨4 小时前
VUE+Vite之环境文件配置及使用环境变量
前端
GDAL4 小时前
npm入门教程1:npm简介
前端·npm·node.js
小白白一枚1115 小时前
css实现div被图片撑开
前端·css
薛一半5 小时前
PC端查看历史消息,鼠标向上滚动加载数据时页面停留在上次查看的位置
前端·javascript·vue.js