Css 使用透视图和translateZ的元素比例公式是什么?
我想做以下工作:给定一个带有透视图的容器和一个带有translateZ值的内部元素,我想用translateY“向上拉”,以便在视觉上触摸周围容器的顶部: 有没有某种公式,给定容器的透视值,元素的宽度和高度,以及它的Z平移,我可以得到那种“顶部”计算?我一直在玩弄它,但我似乎找不到一些规则,因为这些似乎都是变量 感谢您的帮助。可能有(不知道是否立即),但您是否尝试过更改Css 使用透视图和translateZ的元素比例公式是什么?,css,perspective,translate3d,Css,Perspective,Translate3d,我想做以下工作:给定一个带有透视图的容器和一个带有translateZ值的内部元素,我想用translateY“向上拉”,以便在视觉上触摸周围容器的顶部: 有没有某种公式,给定容器的透视值,元素的宽度和高度,以及它的Z平移,我可以得到那种“顶部”计算?我一直在玩弄它,但我似乎找不到一些规则,因为这些似乎都是变量 感谢您的帮助。可能有(不知道是否立即),但您是否尝试过更改-webkit transform-origin:首先查看是否可以简单地沿顶部应用转换,使元素显示在您想要的位置,而无需进行转换
-webkit transform-origin:
首先查看是否可以简单地沿顶部应用转换,使元素显示在您想要的位置,而无需进行转换?是
实际上有一个非常简单的公式来计算偏移量——维基百科上的有一个图表和公式
公式为bx=ax*bz/az
,其中:
是距离变换原点的原始距离ax
是透视+否定的az
translateZ
是透视图bz
-距离变换原点的新距离bx
:透视图(例如:bz
)1000px
:与变换原点的偏移量,例如:如果原点为50%,则这需要是元素相对于父元素中心的ax
(top
)--比方说parent.height/2+element.top
-500px
:元素的z
(例如:translateZ
)-600px
然后是az
,在这种情况下:bz+z*-1
1000+(-600*-1)=1600
-500*1000/1600=-312.5
元素从原点垂直偏移-312.5px
,而最初它是偏移-500px
,这两个数字之间的差异是需要添加到旧的顶部
值以获得等效的新值
此公式也适用于Y轴
我在这里举了一个简单的例子:我试过了,但我想它不会影响任何东西,因为它正在转换为z轴…哦,这个例子是-webkit前缀-抱歉。谢谢,这正是我想要的!我自己也在做这件事,如果有人感兴趣,我就创作了一支钢笔:@Trolleymusic也许你知道。我真的希望如此(+100悬赏可用)!