Пытаясь сделать куб css3, я начал с этого..
<div class="box">
<div class="left"></div>
<div class="front"></div>
<div class="right"></div>
<div class="back"></div>
</div>
CSS:
.box {
position: relative;
top: 300px;
left: 300px;
width: 300px;
height: 300px;
}
.left {
position: absolute;
top: 0;
left: 0;
background: #ff4d4d;
height: 300px;
width: 300px;
transform: translate(-300px, 0px) rotateY(80deg);
-webkit-transform: translate(-300px, 0px) rotateY(80deg);
-moz-transform: translate(-300px, 0px) rotateY(80deg);
-o-transform: translate(-300px, 0px) rotateY(80deg);
z-index: 1;
}
.front {
background: #ff6b6b;
height: 300px;
width: 300px;
position: absolute;
top: 0;
left: 0;
}
Я сделал скрипку здесь http://jsfiddle.net/E9Q7w/.. Здесь происходит то, что применяется поворот, и перевод делает коробку по оси X. Но ось вращения/центр вращения не сдвигается. Он все еще находится в середине коробки. как перевод, не делает того, что он предполагает делать, правильно? почему это? что мне не хватает?
Вы используете неправильные значения. rotateX
и rotateY
не существует. Если вы хотите выбрать, где его повернуть, используйте transform-origin:
transform-origin-(x/y/z)
transform: translate(-300px, 0px) rotate(80deg);
-webkit-transform: translate(-300px, 0px) rotate(80deg);
-moz-transform: translate(-300px, 0px) rotate(80deg);
-o-transform: translate(-300px, 0px) rotate(80deg);
Вот некоторые документы об источнике transform-origin
- https://developer.mozilla.org/en-US/docs/Web/CSS/transform-origin
transform-origin
по умолчанию находится в центре, и вы не меняете его, так зачем ожидать его перемещения?