HTML(29)——立体呈现

作用:设置元素的子元素是位于3D空间中还是平面中

属性名:transform-style

属性值:

  • flat:子级处于平面中
  • preserve-3d:子级处于3D空间

步骤:

  1. 父级元素添加 transform-style:preserve-3d
  2. 子级定位
  3. 调整子盒子的位置(位移或旋转)

演示:

复制代码
  <style>
    .cube {
      width: 200px;
      height: 200px;
      margin: 100px auto;
      background-color: rgb(106, 220, 116);
      transition: all 2s;
    }

    .cube div {
      width: 200px;
      height: 200px;
    }

    .front {
      background-color: #2180d4;
    }

    .back {
      background-color: #dd1e1e;
    }
  </style>
</head>

<body>
  <div class="cube">
    <div class="front"></div>
    <div class="back"></div>
  </div>
</body>

按照步骤父级添加transform-style: preserve-3d; 为了更好的视觉效果我又添加了视距transform-style: preserve-3d; 然后根据子绝父相 原则给它们定位,最后**transform: translateZ(80px)**将两个盒子分开,添加一个旋转的效果使其更明显。

复制代码
  <style>
    .cube {
      position: relative;
      width: 200px;
      height: 200px;
      margin: 100px auto;
      background-color: rgb(106, 220, 116);
      transition: all 2s;
      transform-style: preserve-3d;
      transform-style: preserve-3d;
    }

    .cube div {
      position: absolute;
      left: 0;
      top: 0;
      width: 200px;
      height: 200px;
    }

    .front {
      background-color: #2180d4;
      transform: translateZ(80px);
    }

    .back {
      background-color: #dd1e1e;
    }

    .cube:hover {
      transform: rotateY(180deg);
    }
  </style>
</head>

<body>
  <div class="cube">
    <div class="front">前面</div>
    <div class="back">后面</div>
  </div>
</body>
相关推荐
Aliex_git10 分钟前
性能优化 - 构建体积优化
前端·javascript·笔记·学习·性能优化
xiaoxue..18 分钟前
React 之 自定义 Hooks
前端·javascript·react.js·面试·前端框架
华仔啊19 分钟前
JavaScript 防抖和节流的区别是什么?如何实现?
前端·javascript
想唱rap1 小时前
缓冲区的理解和实现
java·服务器·前端·c++·python
勤奋的小米蜂1 小时前
vscode 自带终端无法正常执行例如npm命令---解决办法
前端·vue.js·vscode·npm
Wpa.wk1 小时前
接口测试-多层嵌套响应处理-JSONPath使用(Java版)
java·前端·经验分享·python·测试工具·jsonpath
码丁_1171 小时前
某IT培训班一阶段前端面试题
前端
yyt3630458411 小时前
BEM规范
前端
遗憾随她而去.1 小时前
前端加密(常用加密方式及使用)
前端
怕浪猫1 小时前
React 从入门到出门第二章 生命周期函数与内置 Hooks 整体认知
前端·javascript·react.js