是否可以使用CSS转换来设置一个位置设置为left:0px到right:0px之间的东西,所以它在屏幕上的所有方式?我需要完成同样的事情从上到下。我卡住计算屏幕宽度/对象大小?
#nav { position: absolute; top: 0px; left: 0px; width: 50px; height: 50px; -webkit-transition: all 0.5s ease-out; } .moveto { top: 0px; right: 0px; }
然后我使用jQuery的.addClass
解决方法
如果你知道动画元素的宽度/高度,你可以动画的位置(顶部,底部,左,右),然后减去相应的边距。
.animate { height: 100px; width: 100px; background-color: #c00; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; -ms-transition: all 1s ease; transition: all 1s ease; position: absolute; left: 0; /*or bottom,top,right*/ }
然后根据位置动画…
.animate.move { left: 100%; /*or bottom,right*/ margin-left: -100px; /*or bottom,right */ }
这个实现可能更平滑与transform:translate(x,y),但我会保持这样,这是更容易理解。