因为getBoundingClientRect()已是w3c标准,因此不用担忧兼容,不过在ie下仍是有所区别javascript
{ top: '元素顶部相对于视口顶部的距离', bottom: '元素底部相对于视口顶部的距离', left: '元素左边相对于视口左边的距离', right: '元素右边相对于视口左边的距离', height: '元素高度', width: '元素宽度' } // 兼容写法 function getClientReat(client) { const { top, bottom, left, right, height, width } = client.getBoundingClientRect() return { top, bottom, left, right, height: height || bottom - top, width: width || right - left } }