编程语言
首页 > 编程语言> > Javascript修改所有绝对定位的元素

Javascript修改所有绝对定位的元素

作者:互联网

实际上,我需要在JS中进行的操作是将所有绝对定位的元素下移x个像素.我是否需要遍历每个元素并尝试确定它们的位置是否绝对?或者,还有更好的方法?

谢谢,
马拉

更新:特定:我正在使用小书签将JS注入到任何页面上-因此,我无法以任何方式更改标记或实际的CSS文件.除其他事项外,此小书签应将所有绝对定位的元素下移155个像素.

解决方法:

这样的事情应该做到:

function getStyle(el, prop) {
  var doc = el.ownerDocument, view = doc.defaultView;
  if (view && view.getComputedStyle) {
    return view.getComputedStyle(el, '')[prop];
  }
  return el.currentStyle[prop];
}
var all = document.getElementsByTagName('*'), i = all.length;
while (i--) {
  var topOffset = parseInt(all[i].style.top, 10);
  if (getStyle(all[i], 'position') === 'absolute') {
    all[i].style.top = isNaN(topOffset) ? '155px' : (topOffset + 155) + 'px';
  }
}

标签:position,css,javascript,css-position
来源: https://codeday.me/bug/20191024/1920429.html