有趣的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\] [原文阅读](https://mp.weixin.qq.com/s/0486Fg85lpCXxAVp7KlY2w) 我是 Just,这里是「设计师工作日常」,求点赞求关注!skr\~ skr\~

相关推荐
用户69371750013843 小时前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
蓝帆傲亦3 小时前
Web 前端搜索文字高亮实现方法汇总
前端
用户69371750013843 小时前
Room 3.0:这次不是升级,是重来
android·前端·google
漫随流水4 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫6 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
jzlhll1237 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
蓝冰凌7 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
奔跑的呱呱牛8 小时前
generate-route-vue基于文件系统的 Vue Router 动态路由生成工具
前端·javascript·vue.js
柳杉8 小时前
从动漫水面到赛博飞船:这位开发者的Three.js作品太惊艳了
前端·javascript·数据可视化