当前位置: 首页 > news >正文

【css酷炫效果】纯CSS实现瀑布流加载动画

【css酷炫效果】纯CSS实现瀑布流加载动画

  • 创作背景
  • html结构
  • css样式
  • 完整代码
    • 基础版
    • 进阶版(无限往复加载)
  • 效果图

想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492012

创作随缘,不定时更新。

创作背景

刚看到csdn出活动了,赶时间,直接上代码。

html结构


	<div class="waterfall">
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
	</div>

css样式

.waterfall {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列布局 */
  gap: 15px;
  width: 800px;
  margin: 50px auto;
}

.item {
  background: #f0f0f0;
  border-radius: 8px;
  height: 150px;
  opacity: 0; /* 初始隐藏 */
}
@keyframes waterfall-drop {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.item {
  animation: waterfall-drop 0.6s ease-out forwards;
}
.item:nth-child(4n+1) { animation-delay: 0.1s; }
.item:nth-child(4n+2) { animation-delay: 0.2s; }
.item:nth-child(4n+3) { animation-delay: 0.3s; }
.item:nth-child(4n+4) { animation-delay: 0.4s; }

完整代码

基础版

<!DOCTYPE html>
<html lang="en"> 
<head>

<title>页面特效</title>
<style type="text/css">
.waterfall {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列布局 */
  gap: 15px;
  width: 800px;
  margin: 50px auto;
}

.item {
  background: #f0f0f0;
  border-radius: 8px;
  height: 150px;
  opacity: 0; /* 初始隐藏 */
}
@keyframes waterfall-drop {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.item {
  animation: waterfall-drop 0.6s ease-out forwards;
}
.item:nth-child(4n+1) { animation-delay: 0.1s; }
.item:nth-child(4n+2) { animation-delay: 0.2s; }
.item:nth-child(4n+3) { animation-delay: 0.3s; }
.item:nth-child(4n+4) { animation-delay: 0.4s; }
</style>

</head>
<body>

	<div class="waterfall">
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
	</div>

</body>
</html>

进阶版(无限往复加载)

<!DOCTYPE html>
<html lang="en"> 
<head>

<title>页面特效</title>
<style type="text/css">
.waterfall {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列布局 */
  gap: 15px;
  width: 800px;
  margin: 50px auto;
}

.item {
  background: #f0f0f0;
  border-radius: 8px;
  height: 150px;
  opacity: 0; /* 初始隐藏 */
}
@keyframes waterfall-drop {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.item {
  animation: waterfall-drop 0.6s ease-out forwards;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
.item:nth-child(4n+1) { animation-delay: 0.1s; }
.item:nth-child(4n+2) { animation-delay: 0.2s; }
.item:nth-child(4n+3) { animation-delay: 0.3s; }
.item:nth-child(4n+4) { animation-delay: 0.4s; }
</style>

</head>
<body>

	<div class="waterfall">
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img> 
		<img class="item" src='a.gif' width='200px' height='100px'></img>  
	</div>

</body>
</html>

效果图

在这里插入图片描述

相关文章:

  • Swift 并发中的任务让步(Yielding)和防抖(Debouncing)
  • 多机调度问题(C语言)
  • 《大语言模型》学习笔记(三)
  • LeetCode[42] 接雨水
  • Java设计模式建模语言面向对象设计原则
  • C#本地将labelme数据集转换为机器视觉yolo数据集格式
  • 数据库练习3
  • final 在 java 中有什么作用?
  • 用了Cline和华为云的大模型,再也回不去了
  • Skia 图形引擎介绍
  • 5.2《生活中的透镜》——5.3《凸透镜成像规律》讲后再上
  • 《保险科技》
  • 什么是YApi?开源接口管理平台部署教程
  • 使用Docker快速搭建OpenAI兼容的Embeddings与Rerank双API服务
  • 桌子(table、desk)以及其他常见物体的urdf模型,用于搭建机器人环境如pybullet、Gazebo
  • 单片机学完开发板,如何继续提升自己的技能?
  • 采用贝塞尔函数,进行恒定束宽波束形成算法
  • Opencv之计算机视觉一
  • 10分钟打造专属AI助手:用ms-swift实现自我认知微调
  • 在Vue3中使用$router.push方法进行路由跳转时,如何传递多个路径参数?
  • 俄乌代表团抵达谈判会场
  • 特朗普公开“怼”库克:苹果不应在印度生产手机
  • 烤肉店从泔水桶内捞出肉串再烤?西安未央区市监局:停业整顿
  • 泽连斯基启程前往土耳其
  • 在稳市场稳预期下,投资者教育给了散户更多底气
  • 江西贵溪:铜板上雕出的国潮美学