前端构建3D建模知识(css,html)

博客介绍了 3D 相关知识,包括 perspective 设置、3D 构建的三要素摄像机、舞台和物体,还阐述了 Transform 的 3D 变换,如旋转和平移的方法,以及让元素成为立体元素的设置。此外,讲解了 Transition 过渡效果的相关属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Perspective
perspective设置的大小不同
perspective-origin代表了X和Y轴,而perspective代表Z轴。

构建一个3D缺少不了3个要素:

  • 摄像机(Camera)
  • 舞台(stage)
  • 物体(Object)本身。

Transform指3D变换

  • 旋转(Rotate)可以绕X、Y、Z三个轴旋转对应rotateX、rotateY、rotateZ三个方法
  • 平移(Translate)同样,坐标平移Translate也有tranlateX、tranlateY、translateZ三个方法
  • 为了让元素都是立体元素,需要在这个立体空间上设置tranform-style的值为preserve-3d。

Transition的意思是过渡:做一些动画效果的时候会用到它!

  • transition-property(规定设置过渡效果的 CSS 属性的名称)
  • transition-duration (规定完成过渡效果需要多少秒或毫秒)
  • transition-timing-function(规定速度效果的速度曲线)
  • transition-delay (定义过渡效果何时开始)
html
<div class="camera">
  <div class="stage tst">
    <div class="cube up">up</div>
    <div class="cube down">down</div>
    <div class="cube left">left</div>
    <div class="cube right">right</div>
    <div class="cube front">front</div>
    <div class="cube back">back</div>
  </div>
</div>
css
.camera {
    width: 400px;
    height: 400px;
    perspective: 1000px;
    perspective-origin: center center;
}
.stage {
    width:100%;
    height:100%;
    border:1px dashed #000;
    transform: rotateY(0deg) rotateX(0deg);
    transform-style:preserve-3d;
}
.cube {
    position: absolute;
    left: 75px;
    top: 100px;
    margin-left: 30px;
    width: 200px;
    height: 200px;
    color: white;
    background-color: rgba(255, 85, 85, 1);
}
.up {
    background-color: rgba(48, 44, 102,1);
    transform: rotateX(90deg) translateZ(100px);
}
.down {
    transform: rotateX(-90deg) translateZ(100px);
}
.left {
    background-color: rgba(254, 56, 69,1);
    transform: rotateY(-90deg) translateZ(100px);
}
.right {
    transform: rotateY(90deg) translateZ(100px);
}
.front {
    background-color: rgba(100, 225, 180,1);
    transform: translateZ(100px);
}
.back {
    transform: rotateY(180deg) translateZ(100px);
}

.tst {
    transition: transform 2s linear 1s;
}

效果图
在这里插入图片描述
详细原文
https://www.imooc.com/article/12670
扩展原文
http://web.jobbole.com/86929/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

assassin丶J

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

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

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

打赏作者

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

抵扣说明:

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

余额充值