我在這裏犯了一個很大的思考錯誤。
請看看這個小提琴:http://jsfiddle.net/kimgysen/zdP8q/CSS3D translationZ and translationY thinking error
我想了解如何建立一個旋轉的立方體自己在3D,而不是僅僅將其複製,所以我嘗試;但在第一階段我已經陷入困境。
首先代碼:
<section class="container">
<div id="cube">
<figure class="front">1</figure>
<figure class="back">2</figure>
<!--
<figure class="right">3</figure>
<figure class="left">4</figure>
<figure class="top">5</figure>
<figure class="bottom">6</figure>-->
</div>
.container {
width: 200px;
height: 200px;
position: relative;
margin: 0 auto 40px;
border: 1px solid #CCC;
-webkit-perspective: 1000px;
perspective: 1000px;
}
#cube {
margin: 0px;
width: 100%;
height: 100%;
position: absolute;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transition: -webkit-transform 1s;
transition: transform 1s;
-webkit-transform: rotateX(-20deg) rotateY(20deg);
transform: rotateX(-20deg) rotateY(20deg);
}
#cube figure {
margin: 0px;
display: block;
position: absolute;
width: 196px;
height: 196px;
border: 2px solid black;
line-height: 196px;
font-size: 120px;
font-weight: bold;
color: white;
text-align: center;
}
#cube.panels-backface-invisible figure {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
}
#cube .front { background: hsla( 0, 100%, 50%, 0.7); }
#cube .back { background: hsla( 60, 100%, 50%, 0.7); }
#cube .front {
-webkit-transform: translateZ(100px);
transform: translateZ(100px);
}
#cube .back {
-webkit-transform: rotateX(90deg) translateZ(100px);
transform: rotateX(90deg) translateZ(100px);
}
讓我感到奇怪的是這條線:
-webkit-transform: rotateX(90deg) translateZ(100px);
現在,這將是一個非常愚蠢的問題要問你,但還是:
爲什麼translateZ是否將圖形向Y軸上方移動?
當改變translateZ成平移Y,它跨過Z軸移動:-s
-webkit-transform: rotateX(90deg) translateY(100px);
由於小學我認爲:X軸=水平,Y軸=垂直和Z軸是兩個軸垂直(即指向你)。
有人可以請向我解釋發生了什麼?我覺得在這一點上很愚蠢= s
「物體空間」是什麼意思?你能否更直觀地說明這一點? – Trace
沒關係,我明白了。 – Trace