CSS3-animation实现走马灯效果
动画animation
1.先定义动画:
@keyframes 动画名称(
from{}
to{}
)
或者
@keyframes 动画名称(
0%{}
50%{}
100%{}
)
百分号指的是动画时长的占比。
2.使用动画
在需要使用动画的元素中添加
animation:动画名称 动画时长 速度曲线 延迟时间 重复次数 动画方向 完毕时状态。 其中前两个动画名称和动画时长是必须的,其余的属性选填,且没有顺序要求
案例:利用animation实现走马灯动画效果如下

代码如下
1 <div class="box"> 2 <ul> 3 <li><img src="../images/product.jpeg" alt=""></li> 4 <li><img src="../images/car.jpg" alt=""></li> 5 <li><img src="../images/bg.jpg" alt=""></li> 6 <li><img src="../images/1.jpg" alt=""></li> 7 <li><img src="../images/fm.jpg" alt=""></li> 8 <li><img src="../images/play.png" alt=""></li> 9 10 <!--每次在box中可视范围是(610-2*5)/150=4四张图片,当移动至最后几张时,会导致空白出现,为了保证走马灯的无缝隙,将最初未移动时可视范围内的几张图片添加至末尾以遮住留白 --> 11 <li><img src="../images/product.jpeg" alt=""></li> 12 <li><img src="../images/car.jpg" alt=""></li> 13 <li><img src="../images/bg.jpg" alt=""></li> 14 <li><img src="../images/1.jpg" alt=""></li> 15 </ul> 16 </div>
1 <style> 2 * { 3 margin: 0; 4 padding: 0; 5 box-sizing: border-box; 6 } 7 8 ul { 9 list-style: none; 10 } 11 12 .box { 13 margin: 100px auto; 14 width: 610px; 15 height: 110px; 16 border: 5px solid black; 17 18 overflow: hidden; 19 } 20 21 .box ul { 22 /* 如果不设置ul的宽度会导致li浮动的时候由于父级元素的宽度不够而换行,所以ul需要设置足够的宽度呈放所有的li 10*150=1500 */ 23 width: 1500px; 24 25 /* 使用动画 */ 26 /* linear匀速运动 */ 27 animation: move 4s infinite linear; 28 } 29 30 /* 当鼠标移入box中的时候动画停止,移出动画继续 */ 31 .box:hover ul{ 32 animation-play-state: paused; 33 } 34 35 .box li { 36 float: left; 37 width: 150px; 38 height: 100px; 39 } 40 41 .box li img { 42 width: 150px; 43 height: 100px; 44 } 45 46 /* 定义动画 */ 47 @keyframes move{ 48 /* from 是从原始位置出发,所以可以省略 */ 49 to{ 50 /* 移动至添加最初四个li之前的最后一个li(150*6=900),此时如果未在li末尾进行添加就会导致空白出现 */ 51 transform: translate(-900px); 52 } 53 } 54 </style>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构