为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我初始设置#page2,#page3,#page4,#page5,#page6为-webkit-transform:rotateX(90deg);时这些没在屏幕后面,而叠加在page1的上面呢??

正在回答

11 回答

Maybe,I can tell you the truth.

首先,我们在最外层的div中设置了属性-webkit-perspective-origin:50% 50%;这句话告诉我们我们在看id=pagegroup这块400px*400px“画布”(暂且叫他画布)时候,我们是从画布中心看着画布的,也就是说,当只有page6的时候,当我们设置page6为-webkit-transform:rotateX(90deg)时,我们是能够看到一个梯形的的page6,平躺着了XZ这个平面上。

其次,page6的z-index值比page1,2,3,4,5都大,(这而你需要了解z-index的含义,z-index的值越大,元素在Z轴上相交点的数值就越大,在屏幕上会呈现在z-index比他小的上面),这也就是说,即使page6平躺下去了,page1,2,3,4,5还是不能够挡着他的身影的,他仍然以一个梯形的形状躺在page1,2,3,4,5的身上,这也就是你说的为啥叠加在page1上面的原因。

最后,当然要提出解决这个bug的方案了,重点来咯。

      1,在最外层div中设置overflow:hidden;(保证page即使翻过了,超过pagegroup下边缘的时候也不会显示出来)。

      2,修改page2,3,4,5,6的初始X轴的旋转位置,改为-webkit-transform:rotateX(110deg);当然还可以更大。

      3,修改javascript代码,

          var curPage=document.getElementById("page"+curIndex);

           curPage.style.webkitTransform="rotateX(110deg)";

这样就完成了,保证不会看到你说的叠加了。ALL rights reserved!如果有错误地方,欢迎老师、同学更正。万谢叩安。


0 回复 有任何疑惑可以回复我~
#1

angelxiao 提问者

试了下 可以了 谢谢
2014-11-18 回复 有任何疑惑可以回复我~

除了div id=my3d 里面的position是relative,这个不是十分重要,div id=pagegroud那里的position是absolute要注意之外,还有一个最重要的就是,div id=my3d和div id=op 两个div是不嵌套的,两个div是并列的关系 ,我尝试过了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信