首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鼠标移动时更改透视角度/原点3d-css

鼠标移动时更改透视角度/原点3d-css
EN

Stack Overflow用户
提问于 2013-01-11 19:30:26
回答 2查看 5.4K关注 0票数 5

我正在尝试获得一个立方体的透视视角,如下所示:

http://jsfiddle.net/TrySpace/JvFSQ/5/

但是我没有做我期望的事情,我想要改变实际的视角。因此,当transformOrigin: Xpos+'%'+Ypos+'%'为100%-100%时。我希望视角是从右下角,并看到立方体的右/底边。但它所做的一切似乎都是放大立方体。

我使用jstransit,因为通过jQuery设置.css( perspective-origin: X% X% )似乎没有任何作用。

我想我还没有完全理解3DCSS。

有人能看出我哪里错了吗?

(Update1:当我编辑第一个<section>:和set:transform: rotateY(1deg) rotateX(1deg)时,它似乎做得更少。好像转换必须发生,视角才会改变?http://jsfiddle.net/TrySpace/JvFSQ/6/)

(Update2:所以,当我将Y&X设置为90度时,我得到了我想要的东西,尽管是相反的。我的想法哪里错了?http://jsfiddle.net/TrySpace/JvFSQ/8/)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-17 23:22:50

transform-origin不会更改视角。It changes the center of a rotation transform.

The perspective-origin changes how the perspective property calculates the vanishing point。这涉及到一些“观点”。

现在,我不知道您到底想要实现什么(所以我这里的“解决方案”可能不完全是您想要的),但我认为正确的方向是在设置了perspective属性的article包装器上设置代码来更改此属性。

See this fiddle.

它将脚本的最后一行更改为

代码语言:javascript
复制
$("article").css({ perspectiveOrigin: Xpos+'% '+Ypos+'%' });

并将section上的transform-origin重置为transform-origin: 50% 50% 0px;。我不认为这是你想要的,但我认为你想要的功能更接近你的期望。

票数 7
EN

Stack Overflow用户

发布于 2016-03-11 16:29:04

像这样的东西?

代码语言:javascript
复制
$(document).mousemove(function (event) {
    var Xdeg = 0;
    var Ydeg = 0;
    Ydeg = 90- (event.pageX * 90) / ($(document).width() / 2);            
    Xdeg =  -90 + (event.pageY * 90) / ($(document).height()/2);
    $('#DIVName').css('transform', 'translateZ( -200px ) perspective( 600px ) rotateY( ' + Ydeg + 'deg ) rotateX( ' + Xdeg + 'deg )');
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14277276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档