实现原理
该广告轮播功能的实现主要依靠HTML和CSS。HTML负责搭建轮播框架,而CSS则控制样式和动画效果。通过CSS中的关键帧动画(Keyframes),我们可以定义图片在容器内的滚动效果,从而实现轮播功能。
HTML结构
首先,我们需要一个包裹所有轮播图片的容器,并在其中放置各个广告图片:
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%时,回到初始位置,开始新一轮的循环。
css
.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);
}
}
下面是模仿小米商城的一个效果