我一直在使用CSS3转换一段时间,但有一点是轻微的bugbear是百分比与你移动的元素相关,而不是父元素。这很有道理,但它带来了一些我不确定解决问题的最佳方式的情况。例如,如果我们想象一个元素完全位于屏幕上,那么您将如何将这个元素转换到屏幕外?元素的尺寸可能像200x200像素一样小,这意味着如果不进行一些计算就不能使用百分比。将元素转换为屏幕的最佳方法?
我已经缩短到在我的头上的选项有:
1)将元素的容器,它的屏幕尺寸内,然后通过100%翻译容器。
2)使用translateZ,will-change或translate3d将元素提升到其自己的GPU层,然后应用适当的左/右属性。
3)使用getBoundingClientRect来确定元素与视口相关的位置,进行计算以确定为了使元素离开屏幕而需要应用的像素距离,然后将该值应用为内联翻译风格。
我能否就处理这种情况的最佳方式得到一些建议?要考虑的因素是该技术将用于响应站点,因此任何值计算都需要在应用该技术之前立即完成。
你有一个 “最大支持拍摄分辨率” 或者什么?如果无关紧要*您可以使用足够大的绝对偏移量来移动元素,例如向左或向右移动10000个像素。 (顺便说一句,有没有很好的理由,你不能只使用display:none?) – 2014-10-17 13:12:51
@TomasLycken - 这种方法的问题在于你无法很好地控制该动画的速度!特别是没有最大的决议;该问题适用于任何尺寸的分辨率。 – 2014-10-17 15:18:03
以为我会分享这个链接的参考: http://stackoverflow.com/questions/15317020/css3-translate-out-of-screen – 2014-11-11 08:45:44