实现原理
该广告轮播功能的实现主要依靠HTML和CSS。HTML负责搭建轮播框架,而CSS则控制样式和动画效果。通过CSS中的关键帧动画(Keyframes),我们可以定义图片在容器内的滚动效果,从而实现轮播功能。
HTML结构
首先,我们需要一个包裹所有轮播图片的容器,并在其中放置各个广告图片:
<div class="slider"><div class="container"><img src="images/b1.jpg" alt=""><img src="images/b2.jpg" alt=""><img src="images/b3.png" alt=""><img src="images/b4.jpg" alt=""></div>
</div>
CSS样式
接下来需要再css中设置轮播容器和图片的样式。 .slider 是整个轮播区域,宽度被设定为单张图片的宽度 (1226px),高度为 460px,并且居中显示。.slider .container 的宽度则是单张图片宽度乘以图片数量 (4 * 1226px = 4904px),保证了可以容纳4张图片连续排列。因为这里有四张图片,所以 在0%时,不平移;在25%时,向左平移一张图片的宽度;在50%时,向左平移两张图片的宽度;在75%时,向左平移三张图片的宽度;在100%时,回到初始位置,开始新一轮的循环。
.slider {height: 460px;width: 1226px;margin: 0 auto;overflow: hidden;position: relative;
}.slider .container {width: 4904px; /* 图片宽度 * 图片数量 */height: 460px;overflow: hidden;position: absolute;display: flex;animation: run 10s linear infinite;
}.slider img {height: 100%;width: 1226px;display: block;margin: 0 auto;
}@keyframes run {0% {transform: translateX(0);}25% {transform: translateX(-1226px);}50% {transform: translateX(-2452px);}75% {transform: translateX(-3678px);}100% {transform: translateX(0);}
}
下面是模仿小米商城的一个效果