zoukankan      html  css  js  c++  java
  • css3轮播图实现代码

    之前公式有一个小的case,文字轮播,鼠标移入后轮播暂停,移除后轮播继续,考虑用js写,但想到c3动画api:animation可以实现,就利用它来实现,不需要js哦。

    首先还是介绍一下animation吧。

    基础用法(详见w3c):

    下面开始代码实现步骤

    1,轮播图的实现原理如图(渣渣美术手感,谢绝吐槽─━ _ ─━)

      html元素构建结构类似这样

    <div>
      <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>1</li>
      </ul>
    </div>

     如图,设置每个li标签的宽高和显示元素<div>相同,这时候会发现ul的长度会超过div,再利用css属性中overflow:hidden,(内容会被修剪,并且其余内容是不可见的)。他会隐藏掉多余的部分,这样:

    这是后你移动ul,就会产生图片移动的轮播效果

    好,下面我们进入代码编写模块。

    首先根据 animation的设置,写一个

    @keyframes 
     
    @keyframes imgMove {
      from {
        transform: translateX(0px);
      }
      to {
        transform: translateX(-882px);
      }
    }
    这里可以看到,我是利用transform: translateX( )来控制他的位移的,
     
    然后是animation 的编写
     
      animation: imgMove 5s linear infinite;
    介绍一下设置
     
      1- animation-name  执行动画的名称imgMove
      2-animation-duration  完成动画的时间5s
      3-animation-timing-function 完成动画是的速度   linear -匀速
      4-animation-iteration-count  播放的次数  infinite-无限次播放 
     
      最后是实现鼠标移入动画暂停,这里有两个介绍:
      1· :hover{}定义鼠标移入触发的事件
      2·animation-play-state:paused/running  动画的暂停与播放
     
      下面是完整代码,使用时需要添加图片,各位自己添加哈
      
    <!DOCTYPE html>
    <html>
    <head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
    * {
    padding: 0;
    margin: 0;
    }
    div {
    width: 882px;
    height: 86px;
    margin: 200px auto;
    overflow: hidden;
    }
    div > ul {
    /*设置ul的宽度为2倍div的宽度*/
    width: 200%;
    list-style: none;
    /*动画属性*/
    animation: imgMove 5s linear infinite;
    
    }
    /* 暂停动画 */
    div>ul:hover{
    animation-play-state: paused;
    }
    
    div > ul > li {
    width: 126px;
    float: left;
    }
    
    div img {
    width: 100%;
    }
    /*创建动画*/
    @keyframes imgMove {
    from {
    transform: translateX(0px);
    }
    to {
    transform: translateX(-882px);
    }
    }
    </style>
    </head>
    <body>
    <div>
    <ul>
    <li><img src="images/1.jpg" alt=""/></li>
    <li><img src="images/2.jpg" alt=""/></li>
    <li><img src="images/3.jpg" alt=""/></li>
    <li><img src="images/4.jpg" alt=""/></li>
    <li><img src="images/5.jpg" alt=""/></li>
    <li><img src="images/6.jpg" alt=""/></li>
    <li><img src="images/7.jpg" alt=""/></li>
    <!--将需要轮播的图片在复制一份-->
    <li><img src="images/1.jpg" alt=""/></li>
    <li><img src="images/2.jpg" alt=""/></li>
    <li><img src="images/3.jpg" alt=""/></li>
    <li><img src="images/4.jpg" alt=""/></li>
    <li><img src="images/5.jpg" alt=""/></li>
    <li><img src="images/6.jpg" alt=""/></li>
    <li><img src="images/7.jpg" alt=""/></li>
    </ul>
    </div>
    </body>
    </html>
     
     
    搞定 !
      
  • 相关阅读:
    V4L2摄像头应用编程(转)
    ok6410 3.0.1内核调用V4L接口出错解决方法(转)
    Salesforce学习之路(十一)Aura组件属性<aura:attribute />
    Salesforce学习之路(九)Org的命名空间
    Salesforce学习之路(八)一次拉取多个文件或全部文件至本地
    Salesforce学习之路(十)Aura组件工作原理
    Salesforce学习之路(七)Visualforce结合Reports展示图表
    Salesforce学习之路(六)利用Visualforce Page实现页面的动态刷新功能
    Salesforce学习之路(五)role hierarchy & sharing
    Salesforce学习之路(四)利用Jenkins和Git实现Salesforce的CI/CD功能
  • 原文地址:https://www.cnblogs.com/TLSF/p/9067466.html
Copyright © 2011-2022 走看看