轮播图已经是很常见的东西了,尤其是在各大app的首页顶栏,经常会依次显示不同的图片。
说到如何实现轮播图,很多人的第一反应是用Javascript timer。当然,这个方法是可以实现的。但就是有点繁琐。今天,在本文中,我们来看看如何用纯CSS代码代替Javascript实现轮播。
我把这篇文章的代码都放在github上了,有兴趣的同学可以看看。
https://github . com/zhouxiong king/article-pages/blob/master/articles/carousel/carousel。超文本标记语言
首先我们来看看carousel只用CSS的效果。
看到上面的实现效果后,我们来具体分析下一页的构成。
接下来我们从代码层面来看看整个效果是如何实现的。
首先,我们来看看HTML页面的实现。代码中有每个区域的描述。
这种效果主要是通过CSS代码来实现的,CSS代码量很大。我们分开来看。
结果代码如下所示。
图片容器也采用绝对定位,宽度可以动态设置,根据图片数量计算。设置每张图片的宽度和高度,代码如下。
这里中间效果设置为5%的音程,其他时间位置切换。因为图片是水平分布的,所以可以通过将margin-left的值设置为负值来偏移它。
鼠标移动到相应的数字上后,数字会显示不同的颜色。而且,鼠标停留在数字上后,动画效果会暂停。
现在所有的步骤都完成了,就可以得到文章开头的动画效果了。
结束语本文一个轮播图的效果完全用CSS实现,比用JS降低页面阻塞程度要好。