【HTML】立体旋转相册,专属于你的表白方式

博主:👍不许代码码上红
欢迎:🐋点赞、收藏、关注、评论。
格言: 大鹏一日同风起,扶摇直上九万里。

一、HTML设计

用HTML做一个容器,里面存放六张图片,用以构成一个正方体。
HTML主要代码

<body>
    <div class="container">
        <div class="item front"><img src="./1.jpg" width="100%" alt=""></div>
        <div class="item back"><img src="./1.jpg" width="100%" alt=""></div>
        <div class="item left"><img src="./1.jpg" width="100%" alt=""></div>
        <div class="item right"><img src="./1.jpg" width="100%" alt=""></div>
        <div class="item top"><img src="./1.jpg" width="100%" alt=""></div>
        <div class="item bottom"><img src="./1.jpg" width="100%" alt=""></div>

    </div>
    
</body>

二、格式设计

2.1 背景设计

设计要求
在滚动立体相册的后面是一个渐变色的背景。在垂直方向和水平方向都水平居中。

css代码实现

body{
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: radial-gradient(#ccc,rgb(5,1,36));
}

2.2 容器控制

设计要求
容器中所有的图片保持在相同的尺寸。

css代码实现

.container{

    width: 300px;
    height:300px;
    position:relative;

    transform-style: preserve-3d;
    /*transform: rotateX(-20deg) rotateY(-20deg);*/
    /*animation: rotate 3s linear forwards;*/
    animation: rotate 10s alternate infinite;

.container .item{
    position: absolute;
    height:100%;
    width:100%;
    opacity: 0.7;/*透明度*/
}
}

注意:transform-style: preserve-3d;让图片3d立体展示。

2.3 贴图

设计要求
六张图分别放在正方体的六个面上。

css代码实现

.container .front{
    transform: translateZ(150px);
}
.container .back{
    transform: rotateY(180deg) translateZ(150px);
}
.container .left{
    transform: rotateY(-90deg) translateZ(150px);
}
.container .right{
    transform: rotateY(90deg) translateZ(150px);
}
.container .top{
    transform: rotateX(90deg) translateZ(150px);
}
.container .bottom{
    transform: rotateX(-90deg) translateZ(150px);
}

2.4 让图片动起来

设计要求
让图片动起来,产生动态效果。

css代码实现

@keyframes rotate {
    0%,5%{
        transform: rotateY(90deg);
    }
    20%,25%{
        transform: rotateY(180deg);
    }
    40%,45%{
        transform: rotateY(270deg);
    }
    60%,65%{
        transform: rotateX(-90deg);
    }
    80%,85%{
        transform: rotateX(0deg);
    }
    95%,100%{
        transform: rotateX(90deg);
    }
}

2.5 效果图

完整项目
本项目采用vscode实现。

链接:https://pan.baidu.com/s/1iv2SH6Iocg8CcqeMsT5j5g
提取码:9527

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不许代码码上红

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值