replace offsetXxx width getBoundingClientRect()