前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有趣的css - 列表块加载动效

有趣的css - 列表块加载动效

作者头像
老K博客
发布2024-06-10 13:24:07
810
发布2024-06-10 13:24:07
举报
文章被收录于专栏:老K博客老K博客

因为接口问题只能显示静态图片

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

代码语言:javascript
复制

css 部分代码

代码语言:javascript
复制
.list-box70{
  width: 200px;
  height: 76px;
  position: relative;
  background-color: #f8f8f8;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  box-sizing: border-box;
}
.pic70{
  width: 44px;
  height: 44px;
  position: relative;
  background-color: #e4e4e4;
  border-radius: 4px;
  animation: eff70 1.8s linear infinite;
}
.list70{
  position: relative;
  display: flex;
  flex-direction: column;
  margin-left: 10px;
}
.span70{
  width: 114px;
  height: 20px;
  position: relative;
  border-radius: 4px;
  background-color: #e4e4e4;
  animation: eff70 2s linear infinite;
}
.span-div70{
  position: relative;
  margin-top: 10px;
  display: flex;
}
.span701,.span702{
  width: 65px;
  height: 14px;
  position: relative;
  border-radius: 4px;
  background-color: #e4e4e4;
  animation: eff70 2.2s linear infinite;
}
.span702{
  width: 39px;
  margin-left: 10px;
  animation: eff70 2.4s linear infinite;
}
@keyframes eff70{
  0%{
    opacity: 0.2;
  }
  50%{
    opacity: 1;
  }
  100%{
    opacity: 0.2;
  }
}

1、定义整体列表块通用样式,设置一个浅一点的背景色,设置 display: flex 布局。

2、利用 flex 布局,分别写出列表块中的每个小的矩形,并且设置相关的样式颜色等。

3、给列表块里的每个小的矩形设置 animation 动画,并且设置相关参数,每个动画时长递增 0.2s 。

4、设置动画关键帧,定义变化 opacity 透明属性,让列表块中的小的矩形由浅到深循环变化,这样就形成了视觉上列表块内容在加载的效果。

完整代码如下 html 页面

代码语言:javascript
复制
    列表块加载动效

css部分

代码语言:javascript
复制
/** style.css **/
.app{
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.list-box70{
  width: 200px;
  height: 76px;
  position: relative;
  background-color: #f8f8f8;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  box-sizing: border-box;
}
.pic70{
  width: 44px;
  height: 44px;
  position: relative;
  background-color: #e4e4e4;
  border-radius: 4px;
  animation: eff70 1.8s linear infinite;
}
.list70{
  position: relative;
  display: flex;
  flex-direction: column;
  margin-left: 10px;
}
.span70{
  width: 114px;
  height: 20px;
  position: relative;
  border-radius: 4px;
  background-color: #e4e4e4;
  animation: eff70 2s linear infinite;
}
.span-div70{
  position: relative;
  margin-top: 10px;
  display: flex;
}
.span701,.span702{
  width: 65px;
  height: 14px;
  position: relative;
  border-radius: 4px;
  background-color: #e4e4e4;
  animation: eff70 2.2s linear infinite;
}
.span702{
  width: 39px;
  margin-left: 10px;
  animation: eff70 2.4s linear infinite;
}
@keyframes eff70{
  0%{
    opacity: 0.2;
  }
  50%{
    opacity: 1;
  }
  100%{
    opacity: 0.2;
  }
}

本文共 211 个字数,平均阅读时长 ≈ 1分钟

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024年06月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档