如何使用CSS 3D显示垂直于父元素的子元素?

时间:2013-03-28 10:25:36

标签: css dom css-transforms

期望的效果是拥有2个垂直的dom元素,如“弹出”书。但是,子元素似乎变平/投影到父平面上。

如果2个元素是兄弟姐妹,似乎有效。但是,我正在寻找一种方法来实现父/子元素。

<div class="container">
    <div class="parent" style="height:300px; width:300px;">
      <div class="child" style="height:100px; width:10px;">

      </div>
    </div>
</div>

.container {
  perspective: 1000;
  -moz-perspective: 1000;
  -webkit-perspective: 1000;
}

.parent {
  transform:rotateX(60deg);
  -moz-transform:rotateX(60deg);
  -webkit-transform:rotateX(60deg);
  background:grey;
}

.child {
  transform:rotateX(-30deg);
  -moz-transform:rotateX(-30deg);
  -webkit-transform:rotateX(-30deg);
  background:red;
  margin: 100px;
}

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。

.parent {
    overflow: visible !important;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
}

解决了所有问题

答案 1 :(得分:0)

我对父元素和子元素进行了一些修改

.parent:before,
.parent:after {
 content: ".";    
 display: block;    
 height: 0;    
 overflow: hidden; 
}
.parent:after {clear: both;}

.child {
 transform:rotate(-7deg);
-moz-transform:rotate(-7deg);
-webkit-transform:rotate(-7deg);
background:red;
margin: -60px 100px 100px 100px;
}

在这里你可以看到小提琴click here