我试图在CSS3中对父容器进行3D旋转。-webkit-transform: rotateY(30 e.g. ),但扭转对儿童的旋转,例如-webkit-transform: rotateY(-30 e.g.)。从观众的角度来看,我希望孩子们是“平平的”。当我把旋转应用到孩子身上时,一些东西发生了变化,即它在某种程度上旋转,但不正确。我很确定我的问题要么与透视原点有关,要么与变换原点有关,但我不太清楚如何设置它们的值来解决它。我发明了一把小提琴来演示这个问题。
http://jsfiddle.net/bobsmells/ndn83/2/
为了确认一下,我希望这个子div仍然存在于同一个3D空间中,也就是右边的那个应该看起来更小,因为它更远了,但是我希望两个孩子都没有旋转。
<div class="grandparent">
<div class="parent">
<div class="child1"></div>
<div class="child2"></div>
</div>
</div>
.grandparent{
-webkit-perspective: 500;
-webkit-transform-style: preserve-3d;
-webkit-perspective-origin: 50% 50%;
}
.parent {
position: relative;
background-color: yellow;
width: 200px;
height: 150px;
-webkit-transform: rotateY(30deg) ;
}
.child1 {
position: absolute;
top: 20px;
left: 20px;
background-color: green;
width: 50px;
height: 50px;
-webkit-transform: rotateY(-30deg) ;
}
.child2 {
position: absolute;
top: 20px;
left: 120px;
background-color: green;
width: 50px;
height: 50px;
-webkit-transform: rotateY(-30deg) ;
}发布于 2013-10-29 08:53:53
您必须设置-webkit-transform-样式:在父级中保存-3d;如果是在父级,则不影响孩子。
(可能应该是“级联”,但事实并非如此)。
一旦你这样做,你会发现孩子是隐形的,因为他们在父母身后,但这是另一个故事。让父半透明,你会看到他们。
https://stackoverflow.com/questions/19648812
复制相似问题