Почему css3 translate здесь не работает?

0

Пытаясь сделать куб 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. Но ось вращения/центр вращения не сдвигается. Он все еще находится в середине коробки. как перевод, не делает того, что он предполагает делать, правильно? почему это? что мне не хватает?

  • 0
    Мне кажется, что это работает отлично. Источник transform-origin по умолчанию находится в центре, и вы не меняете его, так зачем ожидать его перемещения?
  • 0
    Да, спасибо Я путал перевод с свойством transform origin. Потому что в этом генераторе css3 css3-generator.de/transform.html translate, похоже, изменил источник трансформации.
Теги:

1 ответ

0

Вы используете неправильные значения. 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню