css3实现无缝轮播图片



实现思路:

需求: 实现三张图片无缝轮播

1:  定义一个父级div ,

这个div的宽度为轮播图片元素的宽度 

本文这里用的img宽度是114px, 溢出的时候设置属 性:overflow: hidden;

width: 114px;

overflow: hidden;

2: 在这个父级div下面定义一个div作为轮播图片容器 ,并且添加动画效果,设置属性为

width: calc(114px * 4);//这里设置四张图片宽度的总和,第四张图片与第一张图片相同,why?往下看

animation: keyframe 7s ease 0s infinite normal;

3: 在轮播图片容器里面定义并统一每个图片的宽度, 并且让每个图片排成一行:(左浮动或者设置display: inline-      block)

width: 114px;

float: left; //使用这行代码或者下面这行代码,下面那行代码需要消除每个img之间的间距

/*display: inline-block;*/

4: 第2步中的keyframe设置动画帧数,

    0%,14% 这样的写法的意义在于:

    从0%帧数开始轮播下一张图片,

    在14%帧数开始停止直到28%

    后面的以此类推

这里设置了四段运动 (0%,14%) (28%,42%) (56%,70%) (84%,100%)

其中(84%,100%)轮播的图片是跟第一张图片是相同,当animation设置了noramal值后,动画会从头播放,

如果最后一张图片跟第一张图片不一样,动画从头播放, 就会有切换的效果

设置最尾的图片跟第一张相同后,当 100% ==> 到 0% 时因为图片一样,看不到切换的效果,相当于蒙蔽了你的眼睛

@-webkit-keyframes keyframe{

  0%,14% { transform: translate(0px, 0)}

  28%,42% {transform: translate(-114px, 0)}

  56%,70% { transform: translate(-228px, 0)}

  84%,100% {transform: translate( -342px, 0)}

}



全部代码链接

css3无缝轮播图片

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 来来来,手把手教你们 在漫漫的前段学习过程中,轮播已经成为必不可少的前段需求,下面我就给大家说一种超级简单的方法实...
    赵长安啊阅读 4,976评论 1 4
  • 关于css3变形 CSS3变形是一些效果的集合,比如平移、旋转、缩放和倾斜效果,每个效果都被称作为变形函数(Tra...
    hopevow阅读 11,513评论 2 13
  • 1、属性选择器:id选择器 # 通过id 来选择类名选择器 . 通过类名来选择属性选择器 ...
    Yuann阅读 5,590评论 0 7
  • 看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印象,因...
    DCbryant阅读 5,859评论 0 4
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 5,915评论 0 2

友情链接更多精彩内容