此处只是记录,解析可见原文:http://www.cnblogs.com/skyblue-li/p/6092799.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>旋转图片</title>
<style>
* {
padding: 0px;
margin: 0px;
}
/*这是为了消除默认dom元素的内外边距,使得我们写css的时候更精确*/
body {
background: #000;
}
#photos {
width: 110px; /*宽度*/
height: 180px; /*高度*/
/*border: 1px solid #ccc;*/ /*加一个灰色边框*/
margin: 160px auto; /*水平居中,高度距离顶部100px*/
transform-style: preserve-3d; /*设置3d环境*/
perspective: 800px; /*设置景深为800px*/
/*transform: rotateY(0deg);*/
transform: rotateX(-10deg);
}
#photos img {
width: 100%;
height: 100%;
position: absolute;
box-shadow: 0 0 8px #eaeaea;
box-shadow: 1px -1px 6px #666;
border-radius: 4px;
-webkit-box-reflect: below 3px -webkit-linear-gradient(top,rgba(0,0,0,0) 40%,rgba(0,0,0,0.5));
cursor: pointer;
}
#photos div {
width: 1200px;
height: 1200px;
border-radius: 50%;
position: absolute;
top: 102%;
left: 50%;
margin-left: -600px;
margin-top: -600px;
transform: rotateX(90deg);
background: -webkit-radial-gradient(center center,600px 600px,rgba(158,158,222,0.5),rgba(0,0,0,0));
}
</style>
<script>
function mystyle() {
var photosDom = document.getElementById('photos');
//获取图片数组
var images = photosDom.getElementsByTagName('img');
//获取图片数量
var len = images.length;
//计算每张图片按Y轴旋转的角度
var deg = Math.floor(360 / len);
var x = 0;
var timer1 = setInterval(function () {
for (var i = 0; i < len; i++) {
images[i].style.transform = 'rotateY(' + (deg * i + x * 0.2) + 'deg) translateZ(380px)'; //deg前面不要加空格
}
x++;
//photosDom.style.transform = "rotateX(-10deg) rotateY(" + (x++) * 0.2 + "deg)"; }, 30); var rx = -10;
var rxf = 1;
var tx = 0;
var txf = 1;
var timer2 = setInterval(function () {
rx = rx + (random(0, 2)) * 0.01 * rxf;
if (rx > 0)
{
rxf = -1;
}
if (rx < -15) {
rxf = 1;
} tx = tx + (random(0, 5)) * 0.01 * txf;
if (tx > 100) {
txf = -1;
}
if (tx < -100) {
txf = 1;
} photosDom.style.transform = "rotateX(" + rx + "deg) translateX(" + tx + "px)";
}, 100);
} // 获取范围内随机数
function random(min, max) {
return Math.random() * (max - min) + min;
}
</script>
</head> <body onload="mystyle()">
<div id="photos">
<img src="D:\Documents\Pictures\东方[Black Album]图册\[Black Album 2]02.jpg" />
<img src="D:\Documents\Pictures\东方[Black Album]图册\[Black Album 2]03.jpg" />
<img src="D:\Documents\Pictures\东方[Black Album]图册\[Black Album 2]04.jpg" />
<img src="D:\Documents\Pictures\东方[Black Album]图册\[Black Album 2]05.jpg" />
<img src="D:\Documents\Pictures\东方[Black Album]图册\[Black Album 2]06.jpg" />
<img src="D:\Documents\Pictures\东方[Black Album]图册\[Black Album 2]07.jpg" />
<img src="D:\Documents\Pictures\东方[Black Album]图册\[Black Album 2]08.jpg" />
<img src="D:\Documents\Pictures\东方[Black Album]图册\[Black Album 2]09.jpg" />
<div></div>
</div>
</body>
</html>

css3制作3d旋转相册的更多相关文章

  1. css3+jquery制作3d旋转相册

    首先来看一下今天的炫酷效果: 首先分析一下这张图片: 1.每张图片都有倒影 2.这11张图片呈圆形均匀排列 3.可旋转,上下移动(当然这是效果做出来以后,图片是分析不出来的) 那下面就开始吧. 一.准 ...

  2. CSS3制作3D旋转视频展示区

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. CSS3实现3D旋转相册

    静态效果图: 代码如下: <!doctype html><html lang="en"><head> <meta charset=&quo ...

  4. 网页特效:用CSS3制作3D图片立方体旋转特效

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. CSS3特效----制作3D旋转导航

    大致思路:首先给 three-d-box 设置一个 transition是不可少的 然后每个 a 标签里面有两个 span 一个叫 font 一个叫 back,默认状态下 font 旋转0度,也就是没 ...

  6. 用CSS3制作的旋转六面体动画

    这是用CSS3制作的旋转的六面体 请用火狐或谷歌浏览器预览,有些旋转角度做的不够好,请大神指教 top bottom left right front back

  7. css3之3D 旋转立方体与哆啦A梦

    主要记录两个css3 3D转换的示例   ㈠哆啦A梦 三个哆啦A梦的图片,分别让其围绕X轴,Y轴,Z轴旋转60度,鼠标放上开始发生变化. 具体代码如下图所示: <!DOCTYPE html> ...

  8. 低调奢华 CSS3 transform-style 3D旋转

    点击这里查看效果:http://keleyi.com/a/bjad/s89uo4t1.htm 效果图: CSS3 transform-style 属性 以下是代码: <!DOCTYPE html ...

  9. CSS3特效----制作3D旋转照片展示区

    任务一.制作多背景 提示:上层有一个径向渐变,渐变图像farthest-side ellipse at center,  rgba(246,241,232,.85) 39%,rgba(212,204, ...

随机推荐

  1. 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑

    翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑 Part 3: 设计逻辑层:核心开发 如前所述,我们的解决方案 ...

  2. stata

    1.只打开部分变量: use var1 var2 using "C:\data\2014.dta" 2.打开部分样本(5~10个样本) use "C:\data\2014 ...

  3. jprofiler8使用小贴士

    说明:本文的小贴士是针对jprofiler8的,其他版本上可能有不适用的地方 贴士一:使用jpenable监控,无需增加jvm参数和重启 贴士一:使用jpenable监控,无需增加jvm参数和重启 j ...

  4. React的生命周期

    我们先来看一张图,其实看完这张图基本就懂了,如果还不懂,请继续往下看. getDefaultProps 执行过一次后,被创建的类会有缓存,映射的值会存在this.props,前提是这个prop不是父组 ...

  5. Python中的多进程与多线程(二)

    在上一章中,学习了Python多进程编程的一些基本方法:使用跨平台多进程模块multiprocessing提供的Process.Pool.Queue.Lock.Pipe等类,实现子进程创建.进程池(批 ...

  6. 【CSS学习笔记】初始化CSS后,写li,并利用背景图片,来完成li小图标的效果,且达到个浏览器兼容

    第一种情况 /*当标题前的图标时单独的一个点儿或者方块或者其他类似图标时,定义背景图background要放在<li>里.    在<li>中设置背景图片的尺寸,地址,不重复, ...

  7. 【repost】js字符串函数

    JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...

  8. sed常见用法,删除匹配行的上2行,下3行

    删除匹配的下一行到最后一行 [root@test200 ~]# cat test a b c d e f [root@test200 ~]# sed '/c/{p;:a;N;$!ba;d}' test ...

  9. struts2框架学习(二)

    ---恢复内容开始--- 一.搭建步奏 1.新建web项目,进行必备Jar包的拷贝,放到lib目录以便项目的引用. 2.拷贝框架的核心配置文件Struts.xml,放到src目录下,保留一个基本配置即 ...

  10. hdu1039

    #include<stdio.h>#include<string.h>const int MAXN=200;char str[MAXN]; bool isvowel(char ...