如何获取元素相对于其父元素的位置(左上(?
注意:父position
既不是relative
也不是absolute
,所以offsetLeft
&offsetTop
不起作用。
父级/子级可能有边距/边框/填充。
只有香草JS,没有jquery。
您可以使用.getBoundingClientRect()
返回元素相对于视口的位置。因此,您可以使用.getBoundingClientRect()
获取元素和父元素的位置,并从中计算元素相对于父元素的相对位置。
元素相对于其父的坐标
您可以通过window.getComputedStyle和vanilla-js选择器获取样式。
function getStyleProp(elem, prop){
if(window.getComputedStyle)
return window.getComputedStyle(elem, null).getPropertyValue(prop);
else if(elem.currentStyle) return elem.currentStyle[prop]; //IE
}
elem = document.getElementById("id")
console.log(getStyleProp(elem, "top"))
console.log(getStyleProp(elem, "left"))
Rob W 编写的原始函数
src:使用JavaScript 读取元素的CSS属性