3d正方体旋转相册代码_3D正方体旋转相册来啦!!!!

31840004a047b6a1542bd7c7ca0716a9.png点击上方 “公众号” 可以订阅哦! cd9c0a4d56ccee27c4573fb767f14b43.png

3D正方体旋转相册

cd9c0a4d56ccee27c4573fb767f14b43.png a36f8a4f5a9fdb4afba3f3401ebc3064.png

    最近旋转相册在抖音上很火,今天小编就给大家带来了具体的实现代码。上干货!

第一步 完成基本的HTML结构

241d9ddde5b31655d12badb46f28c388.png

第二步 利用transform变换,营造立体感。

0b1008bb747b7c5247cb6988e675c297.png 8575b56dcc08d14dce022d25202ab0c1.png a265e068106e1a04853472ef3ee31be9.png

第三步 加入动画

1b35ecd259b0864ba690a26dc19ff1f8.png 813fe38085481aaf24e793b27df06a0e.png 93ec93dd4a37f2cc604bd234cc6462e1.png

实现的结果就是这样!!(原谅实在不会设置gif图 只能上个静态图)

最后附上源代码!!!照片换成自己想要展示的即可!!

3d相册

        * {

            margin: 0;

            padding: 0;

        }

        .box {

            width: 500px;

            height: 500px;

            margin: 200px auto;

            position: relative;

            -webkit-perspective: 1500px;

        }

        ul {

            width: 500px;

            height: 500px;

            transform-style: preserve-3d;

            transform: rotateX(-30deg) rotateY(30deg); -webkit-transform: rotateX(-30deg) rotateY(30deg); -moz-transform: rotateX(-30deg) rotateY(30deg); -o-transform: rotateX(-30deg) rotateY(30deg);

            animation: 16s spin linear infinite;

        }

        li {

            width: 400px;

            height: 400px;

            list-style-type: none;

            position: absolute;

        }

        ul li img {

            width: 100%;

            height: 100%

        }

        ul :nth-child(1){

            transform: rotateY(0deg) translateZ(200px); -webkit-transform: rotateY(0deg) translateZ(200px); -moz-transform: rotateY(0deg) translateZ(200px); -o-transform: rotateY(0deg) translateZ(200px);

        }

        ul :nth-child(2){

            transform: rotateY(-90deg) translateZ(200px); -webkit-transform: rotateY(-90deg) translateZ(200px); -moz-transform: rotateY(-90deg) translateZ(200px); -o-transform: rotateY(-90deg) translateZ(200px);

        }

        ul :nth-child(3) {

            transform: rotateY(-180deg) translateZ(200px); -webkit-transform: rotateY(-180deg) translateZ(200px); -moz-transform: rotateY(-180deg) translateZ(200px); -o-transform: rotateY(-180deg) translateZ(200px);

        }

        ul :nth-child(4){

            transform: rotateY(-270deg) translateZ(200px); -webkit-transform: rotateY(-270deg) translateZ(200px); -moz-transform: rotateY(-270deg) translateZ(200px); -o-transform: rotateY(-270deg) translateZ(200px);

        }

        ul :nth-child(5){

            transform: rotatex(90deg) translateZ(200px); -webkit-transform: rotatex(90deg) translateZ(200px); -moz-transform: rotatex(90deg) translateZ(200px); -o-transform: rotatex(90deg) translateZ(200px);

        }

        ul :nth-child(6){

            transform: rotatex(90deg) translateZ(-200px); -webkit-transform: rotatex(90deg) translateZ(-200px); -moz-transform: rotatex(90deg) translateZ(-200px); -o-transform: rotatex(90deg) translateZ(-200px);

        }

 @keyframes spin

        {

            from

            {

                transform: translateZ(-10em) rotateX(0) rotateY(0deg); -webkit-transform: translateZ(-10em) rotateX(0) rotateY(0deg); -moz-transform: translateZ(-10em) rotateX(0) rotateY(0deg); -o-transform: translateZ(-10em) rotateX(0) rotateY(0deg);

            }

            to

            {

                transform: translateZ(-10em) rotateX(360deg) rotateY(360deg); -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg); -moz-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg); -o-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);

            }

        }

  •                

  •                

  •                

  •                

  •                

  •                

8b831dcd8b47c99c44baca8587613d29.png

扫码关注我们

内容编辑:任志远

 图文排版:任志远

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的HTML和CSS 3D变换代码来实现3x3x3魔方正方体旋转: ```html <div class="cube"> <div class="side front"> <div class="face"></div> <div class="face"></div> <div class="face"></div> </div> <div class="side back"> <div class="face"></div> <div class="face"></div> <div class="face"></div> </div> <div class="side left"> <div class="face"></div> <div class="face"></div> <div class="face"></div> </div> <div class="side right"> <div class="face"></div> <div class="face"></div> <div class="face"></div> </div> <div class="side top"> <div class="face"></div> <div class="face"></div> <div class="face"></div> </div> <div class="side bottom"> <div class="face"></div> <div class="face"></div> <div class="face"></div> </div> </div> ``` ```css .cube { width: 300px; height: 300px; position: relative; transform-style: preserve-3d; transform: rotateX(45deg) rotateY(45deg); } .side { position: absolute; width: 100px; height: 100px; background-color: transparent; border: 1px solid #000; } .front { transform: translateZ(150px); } .back { transform: rotateY(180deg) translateZ(150px); } .left { transform: rotateY(-90deg) translateZ(150px); } .right { transform: rotateY(90deg) translateZ(150px); } .top { transform: rotateX(90deg) translateZ(150px); } .bottom { transform: rotateX(-90deg) translateZ(150px); } .face { width: 100%; height: 100%; position: absolute; } .front .face:nth-child(1) { background-color: #ff0000; } .front .face:nth-child(2) { background-color: #fff; transform: rotateY(90deg) translateZ(100px); } .front .face:nth-child(3) { background-color: #0000ff; transform: rotateY(-90deg) translateZ(100px); } .back .face:nth-child(1) { background-color: #ff6600; transform: rotateY(180deg); } .back .face:nth-child(2) { background-color: #fff; transform: rotateY(-90deg) translateZ(100px); } .back .face:nth-child(3) { background-color: #00ff00; transform: rotateY(90deg) translateZ(100px); } .left .face:nth-child(1) { background-color: #ffff00; transform: rotateY(-90deg); } .left .face:nth-child(2) { background-color: #fff; transform: rotateX(-90deg) translateZ(100px); } .left .face:nth-child(3) { background-color: #ff00ff; transform: rotateX(90deg) translateZ(100px); } .right .face:nth-child(1) { background-color: #00ffff; transform: rotateY(90deg); } .right .face:nth-child(2) { background-color: #fff; transform: rotateX(90deg) translateZ(100px); } .right .face:nth-child(3) { background-color: #9900ff; transform: rotateX(-90deg) translateZ(100px); } .top .face:nth-child(1) { background-color: #cccccc; transform: rotateX(-90deg); } .top .face:nth-child(2) { background-color: #fff; transform: rotateY(180deg) translateZ(100px); } .top .face:nth-child(3) { background-color: #333; transform: rotateY(-90deg) translateZ(100px); } .bottom .face:nth-child(1) { background-color: #999; transform: rotateX(90deg); } .bottom .face:nth-child(2) { background-color: #fff; transform: translateZ(100px); } .bottom .face:nth-child(3) { background-color: #666; transform: rotateY(90deg) translateZ(100px); } ``` 在上面的代码中,我们使用了 `transform-style: preserve-3d` 属性来启用3D变换,使用 `transform: rotateX(45deg) rotateY(45deg)` 属性来旋转正方体。每个面使用 `transform: translateZ(150px)` 属性来放置到正方体的表面,并使用 `rotateX/Y/Z` 来确定它们的位置。每个面上还包含三个小面,使用不同的背景色来模拟魔方的颜色。通过旋转正方体来实现3x3x3魔方的旋转
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值