将 html 元素放置在页面中的任意 x/y 坐标处

use*_*545 8 html javascript css

给定 X 和 Y 坐标,我想定位一个元素,使其位于屏幕/窗口上的该位置。

我希望滚动正常工作,因此固定位置不是解决方案。我想要固定的功能,但滚动时元素应该像普通元素一样移动。

无法保证父 html 元素的位置是什么。也就是说,它可以是静态的、相对的、绝对的或固定的)。

我知道仅使用 css 解决方案是不可能的,但没关系。

Sam*_*ell 6

固定定位但带有滚动的等效项是position: absolute。它是相对于父位置的,只要它没有静态定位。

在 CSS 中:

#yourElement {
    position: absolute;
}
Run Code Online (Sandbox Code Playgroud)

在 JavaScript 中使用xy值:

var element = document.getElementById("yourElement");
element.style.left = x + "px";
element.style.top = y + "px";
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,静态定位的元素会导致绝对定位的子元素使用非静态的最近祖先节点的边界。考虑到这一点,有可能做出一些东西,但这确实没有必要。如果是这种情况,我建议简单地将父元素的定位设置为相对位置,在任何方向上都没有偏移。 (2认同)