发表于: 2018-08-25 23:47:10

1 808


一、今天完成的事情


CSS实现轮播图左右切换/栅格式布局


1、轮播图-左右切换


同样是使用纯css实现的左右滑动轮播图,不适用于随意切换的轮播,当轮播图滑动到最后一张会自动回到第一张再次轮播,也可以根据需要去掉控制点。

参考:https://chuncss.cn/#/slide 该demo滑到最后一页时第一页会倒回来,导致轮播不连续。在此基础稍作修改,实现视觉上不被打断的轮播。


实现步骤:

1)html部分:与淡入淡出效果的html基本相同。

为了达到图片不间断向左移动的效果,需要在图三后面再添加一张图一,使图三移动完毕后直接显示图一,再从头进行动画的重复。


2)CSS部分

主要效果:

以下自动轮播采用了图片水平向左的位移来实现,主要变量是元素的transform属性,配合CSS动画,造成图片连续向左移动的效果,并无限循环。

制作思路:

3张图片按顺序使用float:left并排。

0s时所有图片水平位移为0,静置3s,3s时水平位移仍为0;

4s时所有图片水平位移均为-100%,图一刚好移出页面外,显示图二;

所有图片静置3s,7s时所有图片水平开始位移,位移用时1s;

8s时所有图片水平位移均为-100%,图二刚好移出页面外,显示图三;

所有图片静置3s,11s时所有图片水平开始位移,位移用时1s;

12s时所有图片水平位移均为-200%,图三刚好移出页面外,显示图四(即图一),此时动画播放完毕,开始循环,图四自动切换到图一,视觉上没有变化。


transform 属性

Transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜等。


制作步骤:

a.图片静态布局

实现并排:设置图片模块的父容器.slide-image宽度为4张图宽度400%,图片宽度25%,左浮动。



b.图片轮播动画

按照制作思路来创建动画

圆形指示符动画与淡入淡出效果一致。


2、制作响应式模块

为了实现页面元素的响应式布局,设置了响应式容器row和col-,基本思路与bootstrap的网格系统一致。


二、遇到的问题

1、响应式属性col-sm- 和col-md等等设置被基础属性col-2覆盖了,在页面到了对应宽度的时候没有按照设置的响应式变化。

html:

scss:


2、轮播图内,图片容器有浮动、设置了绝对位置position:absolute,导致父元素的高度是0了,要再设置圆圈指示符.circle的绝对位置bottom:25%,要怎么弄啊?我这个是父元素设置了padding-bottom: 40%,撑起了父元素宽度,才能设置的。


三、明日计划

继续完成任务14


四、收获

1、学习如何使用纯CSS制作左右自动切换的轮播图;

2、transform属性;

3、制作响应式页面的容器。







返回列表 返回列表
评论

    分享到