今天要和大家
分享一个有关CSS
图片切换的
代码。不过不同于常规的做法,我们不需要借助JavaScript,而是纯粹利用CSS完成这项任务。
首先我们来看看需要替换的
图片是如何布局的。在HTML中,我们需要用到
一个div元素,然后把两张
图片都放
在这个div里。
<div class="image-container">
<img src="image1.jpg" class="active">
<img src="image2.jpg">
</div>
其中active类用来表示
默认
显示的
图片。接下来,我们需要通过CSS来控制这两张
图片的切换
效果。具体实现方式如下:
.image-container {
position: relative;
width: 100%;
height: auto;
}
.image-container img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: auto;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
.image-container img.active {
opacity: 1;
}
.image-container img:last-child {
animation: image-animation 8s infinite;
-webkit-animation: image-animation 8s infinite;
}
@keyframes image-animation {
0% {
opacity: 0;
}
8% {
opacity: 1;
}
92% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@-webkit-keyframes image-animation {
0% {
opacity: 0;
}
8% {
opacity: 1;
}
92% {
opacity: 1;
}
100% {
opacity: 0;
}
}
如上
代码中,我们首先将整个div设为relative定位,然后将其中的
图片设置为absolute定位,并且它们重合在一起,因为它们的top和left都是0。
我们用opacity控制
图片透明度,然后定义了
一个0.5秒的过渡
效果。当active类被加到了某一张
图片上时,它的opacity就会变成1,从而
显示出来。
要实现
图片的切换,我们给最后一张
图片加上了
一个animation动画,这个动画会不停地重复进行。它的执行时间是8秒,并且定义了
一个keyframe,控制了不同时间点的
图片透明度。这样,就能实现两张
图片之
间的切换了。
这就是CSS
图片切换的整个实现过程。相信通过这篇
文章的
分享,以及上面的
代码,大家可以掌握这项技能了。