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

相关推荐
spionbo19 分钟前
Vue 表情包输入组件实现代码及完整开发流程解析
前端·javascript·面试
全宝20 分钟前
✏️Canvas实现环形文字
前端·javascript·canvas
lyc23333320 分钟前
鸿蒙Core File Kit:极简文件管理指南📁
前端
我这里是好的呀20 分钟前
全栈开发个人博客12.嵌套评论设计
前端·全栈
我这里是好的呀22 分钟前
全栈开发个人博客13.AI聊天设计
前端·全栈
金金金__22 分钟前
Element-Plus:popconfirm与tooltip一起使用不生效?
前端·vue.js·element
lyc23333323 分钟前
小L带你看鸿蒙应用升级的数据迁移适配📱
前端
用户268128510666929 分钟前
react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
前端
阿怼丶29 分钟前
🚀 如何在内网中运行 Cesium?基于 NestJS 构建离线地形与影像服务
前端·gis