css3制作3d旋转相册

此处只是记录,解析可见原文: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>

时间: 2024-07-31 06:32:31

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

css3+jquery制作3d旋转相册&lt;转&gt;

css3+jquery制作3d旋转相册 首先来看一下今天的炫酷效果: 首先分析一下这张图片: 1.每张图片都有倒影 2.这11张图片呈圆形均匀排列 3.可旋转,上下移动(当然这是效果做出来以后,图片是分析不出来的) 那下面就开始吧. 一.准备 新建三个文件夹分别命名为css,js,img分别存放demo.css,jquery.js.demo.js,11张示例图片.新建demo.html将demo.css,jquery.js,demo.js引入. 二.图片倒影制作 1 <div id="wr

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

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body { margin-top: 5em; text-align: center; color: #414142; background: rgb(246,241,232); backgrou

CSS3实现3D旋转相册

静态效果图: 代码如下: <!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> *{margin: 0;padding: 0;} ul{ width: 200px; height: 200px; list-style: none; margin: 100

10.14 CSS3制作3D图片立方体旋转特效

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>CSS3制作3D图片立方体旋转特效 - 站长素材</title> <style type="text/css"> html{ background:linear-gradient(#ff0 0%,#F00 80%); height: 100%; } .wrap{

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

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>CSS3制作3D图片立方体旋转特效 - 站长素材</title> <style type="text/css"> html{ background:linear-gradient(#ff0 0%,#F00 80%); height: 100%; } .wrap{

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

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

css3 地球3d旋转

<!doctype html><html><head><meta charset="utf-8"><title>地球3d旋转</title><style>body{ height:768px; overflow:hidden; background-color:#000}#sun{ width:2000px; height:2000px; background-image:url(images/dc4.

CSS3动画-3D旋转

学了C3之后,简单做了一个3D旋转的小Demo.个人亲猜测兼容Chrome.Firefox.Opera.Safari,没有考虑IE. 如果下面代码有问题,可以在我的github查看源代码. 可以查看网页效果Demo地址. /*代码如下:*/ <!doctype html> <html> <head> <title>CCS3Animation--3DRotate</title> <meta charset="utf-8"/

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

任务一.制作多背景 提示:上层有一个径向渐变,渐变图像farthest-side ellipse at center,  rgba(246,241,232,.85) 39%,rgba(212,204,186,.5) 100%),底层使用背景图片. 任务二.控制背景图像尺寸 提示:使用background-size,让两层背景都是全屏显示 任务三.给每个列表项添加过渡动画效果 提示:使用transition属性,给每个列表项.item设置变形过渡效果.transition: -webkit-tra