纯css实现轮播效果

转载 2016年08月30日 15:22:00

转载自: http://blog.csdn.net/rtian001/article/details/48474677#comments

改动了一部分 方便自己以后使用

<!DOCTYPE html>
<html>
<head>
    <title> 纯CSS代码实现图片轮播 </title>
    <meta charset="utf-8" />
    <style type="text/css">
        #frame {/*----------图片轮播相框容器----------*/
            position:absolute;width:300px; height:200px;overflow:hidden;border-radius:5px;}
        #photos {/*---设置总的图片宽度--通过位移来达到轮播效果----*/
            position:absolute;z-index:9;width:calc(300px * 5);/*---修改图片数量的话需要修改下面的动画参数*/}
        #photos img {
            float:left;width:300px;height:200px;}
        .play{
            animation:ma 20s ease-out infinite alternate;/**/  }
        @keyframes ma {/*---每图片切换有两个阶段:位移切换和静置。中间的效果可以任意定制----*/
            0%,20% {margin-left:0; } 25%,40% {margin-left:-300px;} 45%,60% {margin-left:-600px;}
            65%,80% {margin-left:-900px;} 85%,100% {margin-left:-1200px;} }
        .num{
            position:absolute;z-index:10;display:inline-block;right:10px;top:165px;border-radius:100%;
            background:#f00;width:25px;height:25px;line-height:25px;cursor:pointer;color:#fff;
            text-align:center;opacity:0.8;}
        .num:hover{background:#00f;}
        .num:hover,#photos:hover{animation-play-state:paused;}
        .num:nth-child(4){margin-right:30px}
        .num:nth-child(3){margin-right:60px}
        .num:nth-child(2){margin-right:90px}
        .num:nth-child(1){margin-right:120px}
        #a1:hover ~ #photos{animation:ma1 .5s ease-out forwards;}
        #a2:hover ~ #photos{animation:ma2 .5s ease-out forwards;}
        #a3:hover ~ #photos{animation:ma3 .5s ease-out forwards;}
        #a4:hover ~ #photos{animation:ma4 .5s ease-out forwards;}
        #a5:hover ~ #photos {animation:ma5 .5s ease-out forwards;}
        @keyframes ma1 {0%{margin-left:-1200px;}100%{margin-left:0;} }
        @keyframes ma2 {0%{margin-left:0;}100%{margin-left:-300px;}   }
        @keyframes ma3 {0%{margin-left:-300px;}100%{margin-left:-600px;}   }
        @keyframes ma4 {0%{margin-left:-600px;}100%{margin-left:-900px;}   }
        @keyframes ma5 {0%{margin-left:-900px;}100%{margin-left:-1200px;}  }
    </style>
</head>
<body>
<div id="frame" >
    <a id="a1" class="num">1</a>
    <a id="a2" class="num">2</a>
    <a id="a3" class="num">3</a>
    <a id="a4" class="num">4</a>
    <a id="a5" class="num">5</a>
    <div id="photos" class="play">
        <img src="http://eduppp.cn/images/0/1.jpg" >
        <img src="http://eduppp.cn/images/0/3.jpg" >
        <img src="http://eduppp.cn/images/0/4.jpg" >
        <img src="http://eduppp.cn/images/0/5.jpg" >
        <img src="http://eduppp.cn/images/0/2.jpg" >
    </div>
</div>
</body>
</html>

+【CSS3】使用纯css代码实现图片轮播效果

使用纯CSS3代码实现简单的图片轮播。 1.基本布局: 将5张图片左浮动横向并排放入一个div容器(#photos)内,图片设置统一尺寸,div宽度设置5个图片的总尺寸,然后放入相框容器div(#f...
  • rtian001
  • rtian001
  • 2015年09月15日 20:58
  • 41824

纯CSS实现图片轮播

原文:http://www.aichengxu.com/view/4182590 关键点:利用keyframes 原理:infinite 注意点:在处理关键帧动画的时候,注意处理好 总共花...

纯CSS实现轮播图效果,你不知道的CSS3黑科技

前言 轮播图已经是一个很常见的东西,尤其是在各大App的首页顶部栏,经常会轮番显示不同的图片。 一提到轮播图如何实现时,很多人的第一反应就是使用Javascript的定时器,当然这种方法是可以实现...
  • zwjweb
  • zwjweb
  • 2017年11月27日 16:51
  • 41

HTML+CSS+JQ实现图片轮播效果

焦点图广泛运用于主页的醒目位置放置广告,简单好用,加上效果也很好看。 实现的效果: 5张图片每两秒轮播一次,右下角的数字随图片而变换,鼠标放在数字上图片停止,移走鼠标继续播放。 ...
  • as00v1
  • as00v1
  • 2016年08月05日 17:05
  • 5333

HTML+CSS+JS实现轮播效果

1.新建一个项目,里面新建一个CSS文件夹(在里面新建一个lunbo.css文件)和一个JS文件夹(在里面新建一个lunbo.js文件),新建一个lunbo.html文件。 2.lunbo.htm...

css@keyframe的轮播图效果实现

今天想用css做一个轮播效果图,在网上看了很久,发现大多数说的都不是很清楚,所以想把自己的一些心得记录下来. 首先要理清思路,要怎样实现一个轮播效果呢?说白了,我们看到的视图可以理解为一个相框,图片...

CSS实现3D轮播效果

通过大牛张鑫旭的分享理解css 3D图片轮播效果 http://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-a...

jq + css 实现简单的图片轮播效果

jq + css 实现简单的图片轮播效果开发过程中需要用到图片轮播的插件,在网上找了几个插件之后还是决定自己码一个,比较简洁的功能,以后说不定还会有用。ps: 功能比较简单,整个框并不能根据图片的大...

CSS3实现轮播图效果

因为CSS的局限性,所以只能做出图片无限循环播放的效果,和图片点击链接 其他的因为效果不完美所以摒弃了效果图预览:代码如下: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:纯css实现轮播效果
举报原因:
原因补充:

(最多只允许输入30个字)