Loading动画
- 整体效果
- 核心代码
-
- [html 代码:](#html 代码:)
- [css 部分代码:](#css 部分代码:)
- 完整代码如下
-
- [html 页面:](#html 页面:)
- [css 样式:](#css 样式:)
- 页面渲染效果:
整体效果
这个 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~