当前位置: 首页 > news >正文

css3 动画

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

总结下图片轮播功能,之前用js写过图片轮播功能,主要分以下几个方向实现:

1、改变图片位置,这是最常见的实现方式之一。图片的定位方式用position:absolute/relative,图片不叠加。

2、改变图片的透明度,图片的定位方式用position:absolute,图片叠加。

今天突然想到用css3动画实现下图片轮播功能,虽然已经是老掉牙的问题了,如下:

结构:

<div class="luoboOut">
    <ul>
        <li class="red"></li>
        <li class="blue"></li>
        <li class="green"></li>
    </ul>
</div>

样式:

先定位:

.luoboOut{
    width:500px;
    height:300px;
    margin:auto;
    background-color:#ccc;
    overflow: hidden;
}
.luoboOut ul{
    height:100%;
    position: relative;
}
.luoboOut ul li{  //定义元素定位状态(因为是水平轮播,所以三个图片在一个水平线上)
                    //也可以用float,父元素width为三个元素width相加
    width:100%;
    height:100%;
    position:absolute;
}
.red{
    background-color: red;
    animation:myfirst 10s infinite; // 引用动画,定义时间、循环
}
.blue{
    background-color: blue;
    animation:mysecond 10s infinite;
}
.green{
    background-color: green;
    animation:mythird 10s infinite;
}

//为每个元素定义动画,因为有三个图片,所以每个图片有三个状态(也就是三个位置)
@keyframes myfirst
{
    0%   {left:0px; top:0px;}
    20%   {left:0px; top:0px;}
    40%   {left:-500px; top:0px;}
    60%   {left:-500px; top:0px;}
    80% {left:-1000px; top:0px;}
    100% {left:-1000px; top:0px;}
}
@keyframes mysecond
{
    0%   {left:500px; top:0px;}
    20%   {left:500px; top:0px;}
    40%   {left:0px; top:0px;}
    60%   {left:0px; top:0px;}
    80% {left:-500px; top:0px;}
    100% {left:-500px; top:0px;}
}
@keyframes mythird
{
    0%   {left:1000px; top:0px;}
    20%   {left:1000px; top:0px;}
    40%   {left:500px; top:0px;}
    60%   {left:500px; top:0px;}
    80% {left:0px; top:0px;}
    100% {left:0px; top:0px;}
}

 

转载于:https://my.oschina.net/niejianbo/blog/865665

相关文章:

  • [OS] linux常见问题汇总
  • Lua 程序设计 (Roberto,Ierusalimschy 著)
  • c3p0 连接过多导致tomcat无法启动的解决方法
  • memcache set方法 MEMCACHE_COMPRESSED
  • if(A B || C),应该如何解释满足A、B、C之间的关系
  • Web前端开发的主要职责
  • 啊啊啊
  • 60、70后的互联网恐慌来源于圈地思维失效
  • python3的urllib2报错问题解决方法
  • mkbootimg hacking
  • linux启动常见故障
  • 一站式学习Wireshark(一):Wireshark基本用法
  • FU-A分包方式,以及从RTP包里面得到H.264数据和AAC数据的方法
  • build.gradle中buildTypes和productFlavors详解
  • Exchange Server 2010安装测试
  • Google 是如何开发 Web 框架的
  • $translatePartialLoader加载失败及解决方式
  • CAP 一致性协议及应用解析
  • git 常用命令
  • JAVA 学习IO流
  • JS字符串转数字方法总结
  • LeetCode29.两数相除 JavaScript
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • SQLServer之创建显式事务
  • 安卓应用性能调试和优化经验分享
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 反思总结然后整装待发
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端路由实现-history
  • 深度学习中的信息论知识详解
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 优秀架构师必须掌握的架构思维
  • MPAndroidChart 教程:Y轴 YAxis
  • 湖北分布式智能数据采集方法有哪些?
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (1)Nginx简介和安装教程
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (二)fiber的基本认识
  • (二)斐波那契Fabonacci函数
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (三) diretfbrc详解
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (四)库存超卖案例实战——优化redis分布式锁
  • (推荐)叮当——中文语音对话机器人
  • (一)插入排序
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .net开发时的诡异问题,button的onclick事件无效
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • /bin/bash^M: bad interpreter: No such file ordirectory