You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用CSS实现嵌套式堆叠3D变换?

CSS 3D变换嵌套布局的Z轴堆叠问题

我正在学习CSS 3D变换,尝试构建交互式3D模型。在「兄弟元素」布局中,3D效果符合预期;但在「嵌套」布局中,Z轴变换没有按预期实现元素堆叠。

基础立方体结构(兄弟元素)

最初我创建的简单立方体,所有面都是兄弟元素,结构如下:

<div class="cube">
  <div class="front"></div>
  <div class="back"></div>
  <div class="top"></div>
  <div class="bottom"></div>
  <div class="left"></div>
  <div class="right"></div>
</div>

扩展时的嵌套布局问题

当尝试在这个立方体基础上扩展(比如在顶面添加小立方体)时,我最初尝试用嵌套元素的方式,但出现了问题:

  • 尝试方法:使用嵌套元素结构,将小立方体的面放在主立方体的顶面元素内
  • 预期效果:嵌套的小立方体元素能在3D空间中正常堆叠
  • 实际结果:嵌套元素继承了父元素的X、Y轴旋转,但在Z轴方向始终和父元素保持平面状态,无法形成3D堆叠

我的嵌套结构大致如下:

<div class="scene">
  <div class="cube__front"></div>
  <div class="cube__back"></div>
  <div class="cube__top">
    <div class="smaller-cube__front"></div>
    <div class="smaller-cube__back"></div>
    <!-- 其他小立方体面 -->
  </div>
  <div class="cube__bottom"></div>
  <div class="cube__left"></div>
  <div class="cube__right"></div>
</div>

当前可行的解决方案

目前我通过把所有立方体的面都设置为兄弟元素,实现了预期的3D堆叠效果,结构示例如下:

<div class="scene">
  <div class="cube__front"></div>
  <div class="cube__back"></div>
  <div class="cube__top"></div>
  <div class="cube__bottom"></div>
  <div class="cube__left"></div>
  <div class="cube__right"></div>

  <!-- 放在主立方体顶面的小立方体 -->
  <div class="smaller-cube__front"></div>
  <div class="smaller-cube__back"></div>
  <!-- 其他小立方体面 -->
</div>

疑问

是否可以用最初尝试的嵌套元素结构实现同样的3D堆叠效果?

内容的提问来源于stack exchange,提问作者jconnorbuilds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:57:02