【发布时间】:2013-11-25 07:56:55
【问题描述】:
我有一个父 div 和一个子 div。 Child 相对于父 div 是绝对位置。子 div 由 90 degrees 旋转。由于原点是子元素的中心(2 条对角线的交汇点),因此子 div 在容器外移动了像素。
为了详细说明这个问题,我在下面的小提琴中添加了 2 个父子输出。 http://jsfiddle.net/Xja29/
在小提琴中,我添加了一个事件,它将子位置重置为各自父母的左上角。这是重置代码。注意 2 个子 div 的顶部和左侧值不同
JQuery 代码:
$("#link").click(function(){
//Child 1 needs top=45 and left=-45
$("#c1").css({"top":"45px", "left":"-45px"});
//Whereas Child 2 needs top=30 and left=-30
$("#c2").css({"top":"25px", "left":"-25px"});
//As one can see there are different values for top and left for childs of different dimension. Is there any relation or formula to find out this values?
});
正是,我想找出子div的旋转角度、宽度、高度和坐标系之间的关系。请让我知道是否存在这样的事情。谢谢。
【问题讨论】:
-
top和left样式规则适用于子 div 的原始位置,而不是旋转后的位置。因此,如果您首先使用top和left值定位子div,然后旋转它,您将获得完全相同的结果。如果您想要单击您提供的链接后看到的结果,为什么不从头开始创建它们呢?除非您向我们展示更多内容,否则我无法欣赏您的努力。
标签: javascript jquery css geometry transform