3D-преобразование вращения граней куба неуместно
У меня есть этот 3d-куб: http://codepen.io/caemostajo/pen/yORNvx/
, передняя и левая грани открываются при нажатии на 2-ю кнопку.
Как вы можете видеть, что левое лицо не на своем месте, я не могу разместить его там, где оно принадлежит, сохраняя его открытую анимацию. это должно выглядеть так: http://www.f-lohmueller.de/pov_tut/backgrnd/im/CubeMappingWrapping_1d_64.gif
Я пытался использовать разные значения translate3D и transform-origin, но не повезло, думаю, проблема в том, что transform-origin этого лица при нажатии кнопки.
Я надеюсь, что кто-то может помочь... лучший из лучших!
3 ответа
Я изменился:
.left-flip {
transition: all 0.85s cubic-bezier(0.175, 0.885, 0.32, 1.275);
transform-style: preserve-3d;
transform-origin: (0px) (0px) (-$cubeHeight / 2);
transform: rotateY(-90deg) translate3d(0%, 0, -$cubeHeight / 2);
}
а также
#radio-rotate:checked ~ .space3d .left-flip {
transform: rotateY(-180deg) translate3d(0, 0, -$cubeHeight / 2);
}
Результатом является это
Чтобы поместить левую грань в правильное положение, попробуйте изменить ось X на -100% в селекторе.left-flip.
translate3d(-100%, 0, $cubeHeight / 2);
Это закроет куб.
._3dface--left{
transform: rotateY(-270deg) translate3d(0%, 0, 75px);
}
Анимировать другой способ сделать
._3dface--left{
transform: rotateY(90deg) translate3d(0%, 0, 75px);
}