use translate component to ensure proper translate3d, and fallback to abs positioning