css3 - 纯css实现一个轮播图
这是我上一次的面试题、一晃两个月过去了。
从前都是拿原理骗人,把怎么实现的思路说出来。
我今天又被人问到了,才想起来真正码出来。码出来效果说明一切:
以上gif,只用到了5张图片,一个html+css,没有任何js。然后实现了自动轮播效果。
具体代码如下:
结构布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>css实现轮播图</title>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<div class="my-swiper">
<ul class="swiper-list">
<li class="swiper-slide swiper-slide1">
<a href="javascript:;">
<img src="./img/img01.jpg" alt="">
</a>
</li>
<li class="swiper-slide swiper-slide2">
<a href="javascript:;">
<img src="./img/img02.jpg" alt="">
</a>
</li>
<li class="swiper-slide swiper-slide3">
<a href="javascript:;">
<img src="./img/img03.jpg" alt="">
</a>
</li>
<li class="swiper-slide swiper-slide4">
<a href="javascript:;">
<img src="./img/img04.png" alt="">
</a>
</li>
<li class="swiper-slide swiper-slide5">
<a href="javascript:;">
<img src="./img/img05.gif" alt="">
</a>
</li>
</ul>
<div class="pagination">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
<span class="dot active"></span>
</div>
</div>
</body>
</html>
除去普通布局样式后的 css核心代码:
.swiper-list {
animation: swiper 10s steps(1, end) infinite;
}
/* 橙色小圆点 */
.dot.active {
animation: swiper-dot 10s steps(1, end) infinite;
}
思路:
首先说五张图片轮播
因为是五张图片左浮动展示。所以只需要左移ul的left值即可。借助animation的关键帧,每隔2秒切换一下left的位置。0%和100%关键帧时重合,
加上animation-iteration-count: infinite;实现循环播放。
其次说小圆点自动切换位置:
我的思路是,五个小白点。第六个是橙色点。同样借助animation关键帧,切换第六个橙色点的位置即可。
【赶工,制作比较粗糙,位置对的不太准。但是思路在这里。抛砖引玉,希望可以激发大家更多的实现想法。欢迎评论不足之处~】
源码地址:
https://github.com/xingorg1/jsStudy/tree/master/css实现轮播图
2019-04-17 21:10:07~
css3 - 纯css实现一个轮播图的更多相关文章
- HTML+CSS+Javascript实现轮播图效果
HTML+CSS+Javascript实现轮播图效果 注意:根据自己图片大小来更改轮播图大小. <!doctype html> <html> <head> < ...
- 纯HTML和CSS实现JD轮播图
博主使用了纯HTML和CSS实现了JD的轮播图,没有加动态效果,主要是使用了定位的知识. ,如图为两个侧边箭头图片(其实实际中应该使用CSS3的图标字体,这里没有使用). <!DOCTYPE ...
- 利用CSS3实现图片无间断轮播图的实现思路
前言:图片轮播效果现在在各大网站都是非常普遍的,以前我们都是通过postion的left or right来控制dom的移动,这里我要说的是利用css3来制作轮播!相比以前通过postion来移动do ...
- jquery里面的attr和css来设置轮播图竟然效果不一致
/*封装$*/ // window.$=HTMLElement.prototype.$=function(selector){ // var elems=(this==window?document: ...
- jQ实现的一个轮播图
众所周知,轮播图是被广泛的运用的. 轮播图我们在很多的网站上都可以看到,例如淘宝.京东这些网站都很常见. 下面开始我们的轮播之旅: 搭建我们的骨架: <!DOCTYPE html> < ...
- 用html +js+css 实现页面轮播图效果
html 页面 <html lang="en"> <head> <meta charset="UTF-8"> <met ...
- CSS3——animation的基础(轮播图)
作为前端刚入门的小菜鸟,只想记录一下每天的小收获 对于animation动画 1.实现动画效果的组成: (1)通过类似Flash的关键帧来声明一个动画 (2)在animation属性中调用关键帧声明的 ...
- JavaScript+HTML+CSS 无缝滚动轮播图的两种方式
第一种方式 在轮播图最后添加第一张,一张重复的图片. 点击前一张,到了第一张,将父级oList移动到最后一张(也就是添加的重复的第一张),在进行后续动画. 点击下一张,到了最后一张(也就是添加的重复的 ...
- 纯CSS 多图片轮播
今天做东西的时候,遇到一个问题关于图片轮播的问题,以前也接触过(百度 人家的demo改改..),再次遇到这个问题的时候,根据以前的印象找到了demo正信心满满的准备改一下嵌进去,发现 jquery.m ...
随机推荐
- MySQL 连接不上本地数据库
1.打开 DOS 窗口,输入 mysql 连接命令时,提示报错 Cannot connect to MySQL server on 'localhost' (10061),如下图: 2.上面问题原因 ...
- Canvas 和 SVG 的不同
Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XML 描述 2D 图形的语言. SVG 基于 XML,这意味着 SVG DOM 中的每个 ...
- 如何确定Isilon里的磁盘是多大的?
在不知道节点任何信息的情况下,可以使用下面的方法来确定磁盘的大小. 1. 使用命令"sysctl efs.gmp.infos | less",能得到cluster的所有节点以及所有 ...
- yarn 切换 设置 镜像 源
1.查看一下当前源 yarn config get registry 2.切换为淘宝源 yarn config set registry https://registry.npm.taobao.org ...
- 【转】简单的解释XSS攻击
XSS 跨站点脚本 cross site script 怎么造成攻击? 举例:有一个公共的页面,所有用户都可以访问且可以保存内容,输入的时候若输入<script>alert('I am h ...
- corda
账本:corda 从每个节点的视角看待账本都是不一样的.并不是所有节点有所有账本信息的.valut视为SQL数据库,只保存 两两节点之间的数据库 状态:状态是不变的对象,代表共享的事实,比如特定时间的 ...
- Nop--NopCommerce源码架构详解专题目录
最近在研究外国优秀的ASP.NET mvc电子商务网站系统NopCommerce源码架构.这个系统无论是代码组织结构.思想及分层都值得我们学习.对于没有一定开发经验的人要完全搞懂这个源码还是有一定的难 ...
- HighLight.js 使用Demo
复制下面代码,保存为html,浏览器打开预览即可. <!DOCTYPE html> <html> <head> <meta charset="utf ...
- wamp 在本地安装PHP环境, 开启 curl 扩展
分别打开以下 2 个文件: wamp\bin\php\(your php version)\php.ini wamp\bin\Apache\(your apache version)\bin\php. ...
- H+ 编辑tab页 保存后 刷新列表tab页 并关闭自已。tabA页调用tabB页的方法
//注:在contabs.js文件中 $(function () { }); 方法外 加入 //注: data-name="' + menuName + '" 这句是加入的自定义属 ...