3d图片切换(css3帧动画)
效果带抖动翻转隐藏,使用帧动画

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="../css/public.css"/>
<style type="text/css">
.wrap{position:relative;width: 400px;height: 300px;margin: 100px auto;-webkit-perspective: 800px;}
.list{width: 400px;height:300px;-webkit-transform-style: preserve-3d;}
li{position:absolute;width: 400px;height: 300px;overflow: hidden;-webkit-transform-origin:bottom;opacity:;-webkit-transform: rotateX(-180deg);}
li a{display: block;width: 400px;height: 300px;}
img{width: 100%;height: 100%;}
.prev,.next{position: absolute;top: 130px;width: 60px;height: 30px;text-align: center;line-height: 30px;background: #ccc;cursor: pointer;}
.prev{left: -100px;}
.next{right: -100px;}
@-webkit-keyframes hide{
0%{
-webkit-transform: rotateX(0);
opacity: 1;
}
100%{
-webkit-transform: rotateX(180deg);
opacity: 0;
}
}
@-webkit-keyframes show{
0%{
-webkit-transform: rotateX(180deg);
opacity: 0;
}
50%{
-webkit-transform: rotateX(-30deg);
opacity: 1;
}
60%{
-webkit-transform: rotateX(20deg);
opacity: 1;
}
70%{
-webkit-transform: rotateX(-18deg);
opacity: 1;
}
80%{
-webkit-transform: rotateX(15deg);
opacity: 1;
}
90%{
-webkit-transform: rotateX(-8deg);
opacity: 1;
}
100%{
-webkit-transform: rotateX(0deg);
opacity: 1;
}
}
.hide{-webkit-animation: 500ms hide;-webkit-transform: rotateX(180deg);opacity: 0;}
.show{-webkit-animation: 1s show;-webkit-transform: rotateX(0deg);opacity: 1;}
</style>
<script type="text/javascript">
window.onload=function(){
var oUl=document.getElementById("list");
var aLi=oUl.getElementsByTagName("li");
var oPrev=document.getElementById("prev");
var oNext=document.getElementById("next");
var num=0;
aLi[num].className='show';
oPrev.onclick=function(){
aLi[num%aLi.length].className="hide";
num--;
if(num<0){
num=aLi.length-1;
}
aLi[num%aLi.length].className="show";
}
oNext.onclick=function(){
aLi[num%aLi.length].className="hide";
num++;
aLi[num%aLi.length].className="show";
}
}
</script>
</head>
<body>
<div class="wrap">
<ul class="list" id="list">
<li><a href="javascript:;"><img src="../img/css31.jpg"/></a></li>
<li><a href="javascript:;"><img src="../img/css32.jpg"/></a></li>
<li><a href="javascript:;"><img src="../img/b.jpg"/></a></li>
<li><a href="javascript:;"><img src="../img/c.jpg"/></a></li>
</ul>
<span class="prev" id="prev">上一张</span>
<span class="next" id="next">下一张</span>
</div>
</body>
</html>
3d图片切换(css3帧动画)的更多相关文章
- 精致3D图片切换效果,最适合企业产品展示
这是一个精致的立体图片切换效果,特别适合企业产品展示,可立即用于实际项目中.支持导航和自动播放功能, 基于 CSS3 实现,推荐使用最新的 Chrome,Firefox 和 Safari 浏览器浏览效 ...
- CSS3帧动画
在前面的文章中也有介绍过css3动画的内容,可见<关于transition和animation>和<webkitAnimationEnd动画事件>,今天又要唠叨一下这个东西了, ...
- Css3帧动画深入探寻,讲点项目中实际会碰到的问题
先加个副标题XD --如何解决background-size为100%下处理@keyframes 正是在项目中遇到副标题,才引起我更深入的探寻 先略带一下基本的css3动画 css3的动画实现是通过属 ...
- android图片切换ImageSwichter的动画切换效果
activity_main.xml 控件的线性布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an ...
- android图片闪烁或帧动画
remote_recording_transition.xml 文件 <?xml version="1.0" encoding="utf-8"?> ...
- jquery roundabout幻灯片插件3d图片切换支持图片旋转切换滚动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 使用 CSS3 动画实现的 3D 图片过渡特效
这是一个基于 CSS3 动画实现的图片过渡效果,共有 Flip.Rotation.Multi-flip.Cube.Unfold 等6种效果,它们将证明 CSS3 Transform 和 Transit ...
- 9个超绚丽的HTML5 3D图片动画特效
在Web 1.0时代,我们的网页中图片数量非常少,而且都是以静态图片为主.HTML5的出现,推动了Web 2.0的发展,同时也催生出了很多绚丽的HTML5图片动画特效,特别是有些还有3D的动画效果.本 ...
- css3的帧动画
概述 前几天刚好看到一个用了CSS3帧动画的页面,对它非常感兴趣,就研究了一下,记录在下面,供以后开发时参考,相信对其他人也有用. PS:以后别人问我用过什么CSS3属性的时候,我也可以不用说常见的a ...
随机推荐
- 珍珠(bead)
题目描述 有n颗形状和大小都一致的珍珠,它们的重量都不相同.n为整数,所有的珍珠从1到n编号.你的任务是发现哪颗珍珠的重量刚好处于正中间,即在所有珍珠的重量中,该珍珠的重量列(n+1)/2位.下面给出 ...
- EC笔记:第4部分:19、设计class犹如设计type
设计一个class,应该考虑以下问题: 新type的对象应该怎样创建和销毁? 构造函数 析构函数 内存分配 内存释放 对象的初始化和对象的赋值应该有什么样的差别? 拷贝构造函数 赋值运算符 新对象如果 ...
- MVC Request.IsAuthenticated一直false Request.Cookie获取不到cookie
项目中,在做登录验证时,用到了cookie,同一账户登陆,可以.切换其他账号时,就在也登录不上了,用原来的也不行.检查Request.IsAuthenticated一直false,而且Request. ...
- [(ngModel)]的实现原理
讨论[(ngModel)]之前,先讲下属性绑定和事件绑定. 在属性绑定中,值从模型中流动到视图上的目标属性.[],通过把属性名放在方括号中来标记出目标属性.这是从模型到视图的单向数据绑定. 在 ...
- linux添加启动器图标(Ubuntu为例)
添加启动器图标,以eclipse为例,%表示命令提示符,shell命令:%nano /usr/share/applications/eclipse.desktop-----------[Deskto ...
- c语言实现输入一组数自动从大到小排列
#include <stdio.h>main(){ int x; printf("请输入要排序数字个数:"); scanf("%d" ...
- java接口调用——webservice就是一个RPC而已
很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...
- JDBC数据库访问操作的动态监测 之 p6spy
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的. P6spy1.3 sf.net http://sourc ...
- 原创炫酷代码公开——连接董铂然github
公开了github部分项目(均为原创)更多代码请看https://github.com/dsxNiubility SXWaveAnimate Wonderful SXPhotoShow SXNews ...
- 详解java定时任务
在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现.下面LZ就其原理.实例以及Timer缺陷三个方面来解析JavaTimer定时器. ...