用CSS+HTML代码制作的3D动态旋转相册

CSS代码

html{
    background:black;
    height: 100%;
}

.wrap{
    position: relative;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 200px;
    height: 200px;
    margin: auto;
}
.cube{
    width: 200px;
    height: 200px;
    margin: 0 auto;
    transform-style: preserve-3d;
    transform:rotateX(-30deg)rotateY(-80deg) ;
    -webkit-animation:rotate 20s infinite;
    animation-timing-function:linear ;    
}
@-webkit-keyframes rotate{
        from{transform: rotateX(0deg)rotateY(0deg);}
        to{transform: rotateX(360deg)rotateY(360deg);}
    }
.cube div{
    position: absolute;
    width: 200px;
    height: 200px;
    opacity: 0.8;
    transition: all.4s;
}
.pic{
    width: 200px;
    height: 200px;
}
.cube.out_front{
    transform: rotateY(0deg) translateZ(100px);
}
.cube.out_back{
    transform: translateZ(-100px) rotateY(180deg);
}
.cube.out_left{
    transform: rotateY(90deg)translateZ(100px);
}
.cube.out_right{
    transform: rotateY(-90deg)translateZ(100px);
}
.cube.out_top{
    transform: rotateX(90deg)translateZ(100px);
}
.cube.out_bottom{
    transform: rotateX(-90deg)translateZ(100px);
}
.cube span{
    display: bloack;
    width: 100px;
    height: 100px;
    position: absolute;
    top: 50px;
    left: 50px;
}    
.cube.in_pic{
    width: 100px;
    height: 100px;
}
.cube.in_front{
    transform: rotateY(0deg) translateZ(50px);
}
.cube.in_back{
    transform:translateZ(-50px)  rotateY(180deg);
}
.cube.in_left{
    transform:rotateY(90deg) translateZ(50px);
}
.cube.in_right{
    transform:rotateY(-90deg) translateZ(50px);
}    
.cube.in_top{
    transform:rotateY(90deg) translateZ(50px);
}    
.cube.in_bottom{
    transform:rotateY(-90deg) translateZ(50px);
}    
.cube:hover .out_front{
    transform:rotateY(0deg) translateZ(200px);
}
.cube:hover .out_back{
    transform: translateZ(-200px)rotateY(180deg);
}
.cube:hover .out_left{
    transform:rotateY(90deg) translateZ(200px);
}
.cube:hover .out_right{
    transform:rotateY(-90deg) translateZ(200px);
}
.cube:hover .out_top{
    transform:rotateX(90deg) translateZ(200px);
}    
.cube:hover .out_bottom{
    transform:rotateX(-90deg) translateZ(200px);
}

HTML代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>我爱她</title>
        <style type="text/css">
            html{
                background:black;
                height: 100%;
            }
            
            .wrap{
                position: relative;
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                width: 200px;
                height: 200px;
                margin: auto;
            }
            .cube{
                width: 200px;
                height: 200px;
                margin: 0 auto;
                transform-style: preserve-3d;
                transform:rotateX(-30deg) rotateY(-80deg) ;
                -webkit-animation:rotate 20s infinite;
                animation-timing-function:linear ;    
            }
            @-webkit-keyframes rotate{
                    from{transform: rotateX(0deg) rotateY(0deg);}
                    to{transform: rotateX(360deg) rotateY(360deg);}
                }
            .cube div{
                position: absolute;
                width: 200px;
                height: 200px;
                opacity: 0.8;
                transition: all.4s;
            }
            .pic{
                width: 200px;
                height: 200px;
            }
            .cube.out_front{
                transform: rotateY(0deg) translateZ(100px);
            }
            .cube.out_back{
                transform: translateZ(-100px) rotateY(180deg);
            }
            .cube.out_left{
                transform: rotateY(90deg) translateZ(100px);
            }
            .cube.out_right{
                transform: rotateY(-90deg)translateZ(100px);
            }
            .cube.out_top{
                transform: rotateX(90deg)translateZ(100px);
            }
            .cube.out_bottom{
                transform: rotateX(-90deg)translateZ(100px);
            }
            
            
             span{
                display:block;
                width: 100px;
                height: 100px;
                position: absolute;
                top: 50px;
                left: 50px;
            }    
            .in_pic{
                width: 100px;
                height: 100px;
            }
            .in_front{
                transform: rotateY(0deg) translateZ(50px) ;
            }
            .in_back{
                transform:translateZ(-50px)  rotateY(180deg);
            }
            .in_left{
                transform:rotateY(90deg) translateZ(50px);
            }
            .in_right{
                transform:rotateY(-90deg) translateZ(50px);
            }    
            .in_top{
                transform:rotateX(90deg) translateZ(50px);
            }    
            .in_bottom{
                transform:rotateX(-90deg) translateZ(50px);
            }    
            
            
            
            
            
            .cube:hover .out_front{
                transform:rotateY(0deg) translateZ(200px);
            }
            .cube:hover .out_back{
                transform: translateZ(-200px)rotateY(180deg);
            }
            .cube:hover .out_left{
                transform:rotateY(90deg) translateZ(200px);
            }
            .cube:hover .out_right{
                transform:rotateY(-90deg) translateZ(200px);
            }
            .cube:hover .out_top{
                transform:rotateX(90deg) translateZ(200px);
            }    
            .cube:hover .out_bottom{
                transform:rotateX(-90deg) translateZ(200px);
            }
        </style>
    
    </head>
    <body>
        <div class="wrap">
        <div class="cube">
            <div class="out_front">
                <img src="img/1.jpg" class="pic" >
                </div>
                <div class="out_back">
                    <img src="img/2.jpg" class="pic">
                    </div>
                    <div class="out_left">
                        <img src="img/3.jpg"class="pic" >
                        </div>
                        <div class="out_right">
                            <img src="img/4.jpg"class="pic" >
                        </div>
                        <div class="out_top">
                            <img src="img/5.jpg"class="pic" >
                        </div>
                        <div class="out_bottom">
                            <img src="img/6.jpg"class="pic" >
                        </div>
                        <span class="in_front">
                            <img src="img/7.jpg"class="in_pic" >
                        </span>
                        <span class="in_back">
                            <img src="img/8.jpg"class="in_pic" >
                        </span>
                        <span class="in_left">
                            <img src="img/9.jpg"class="in_pic" >
                        </span>
                        <span class="in_right">
                            <img src="img/10.jpg" class="in_pic">
                        </span>
                        <span class="in_top">
                            <img src="img/11.jpg" class="in_pic" >
                        </span>
                        <span class="in_bottom">
                            <img src="img/12.jpg"class="in_pic" >
                        </span>
                        </div>
                        </div>
    </body>
</html>

代码效果

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值