javascript - 如何使用 offsetWidth 和 offsetLeft 动态地将一个 div 置于另一个 div 的中心

标签 javascript jquery css centering

如何在 div 上设置 left,使其始终显示在另一个 div 的中央,尽管宽度不同?

jsFiddle:http://jsfiddle.net/y04nse5x/

我试图让每个标签在点上完美对齐,而不需要容器。我确信这可以通过 offsetWidthoffsetLeft 实现,但我无法正确计算。

这些点被放置在页面上的任意位置,每个点都有一个 mouseover 事件监听器,它将在该点上放置一个标签。我可以使用 offsetLeft 使标 checkout 现在点上,但它没有居中,因为标签的宽度可能因文本不同而不同,这取决于它出现在哪个点上。

我遇到此问题的实际网站:http://briennakh.me/world-around-you/ (悬停在右上角的菜单按钮上)

最佳答案

在您的 CSS 中,您设置了描述的 left。让我们看看 left 等于什么。 enter image description here

希望我的图表有意义,因此:

var leftValue = this.offsetLeft-(description.offsetWidth-this.offsetWidth)/2;

http://jsfiddle.net/y04nse5x/1/

关于javascript - 如何使用 offsetWidth 和 offsetLeft 动态地将一个 div 置于另一个 div 的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53182533/

相关文章:

javascript - 一起记录 Firefox/jQuery/CSS 动画的错误?

javascript - y轴反转时是否可以保持fillcolor?

javascript - jquery国际电话号码输入

javascript - 当您将鼠标悬停在另一个 div 中的按钮上时,如何更改 div 背景?

javascript - 淡入淡出功能问题

javascript - 如何使用 Cropper 通过 javascript 检索 toDataURL 字符串 by fengyuanchen

javascript - 捕获/处理 502 错误网关错误

javascript - 从下拉列表中获取选择值/默认值到 JavaScript 变量中

html - 将滚动条添加到模态窗口

html - 如果图像在 sidenav 中,则 Material Sidenav 会溢出内容