Matrix 3d transform for obtaining trapezoid?

北城以北 提交于 2019-11-30 18:06:28

问题


I try to simulate a turn to back effect, as two doors open to back simultaneously. I tried different matrix generators to obtain that trapezoid needed but i didn't have any luck. I know i have to animate an rotateY from 0 to 180 degrees and to keep my transform origin but that trapezoid kills me.


回答1:


How about using perspective?

demo

HTML:

<div class='doors'>
    <div class='door'></div><div class='door'></div>
</div>

Relevant CSS:

.doors { perspective: 35em; }
.door {
    display: inline-block;
    width: 50%; height: 100%;
    transition: 1s;
}
.doors:hover .door:first-child {
    transform-origin: 0 50% 0;
    transform: rotateY(60deg);
}
.doors:hover .door:last-child {
    transform-origin: 100% 50% 0;
    transform: rotateY(-60deg);
}


来源:https://stackoverflow.com/questions/14480341/matrix-3d-transform-for-obtaining-trapezoid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!