如何在 div
上设置 left
,使其始终显示在另一个 div
的中央,尽管宽度不同?
jsFiddle:http://jsfiddle.net/y04nse5x/
我试图让每个标签在点上完美对齐,而不需要容器。我确信这可以通过 offsetWidth
和 offsetLeft
实现,但我无法正确计算。
这些点被放置在页面上的任意位置,每个点都有一个 mouseover
事件监听器,它将在该点上放置一个标签。我可以使用 offsetLeft
使标 checkout 现在点上,但它没有居中,因为标签的宽度可能因文本不同而不同,这取决于它出现在哪个点上。
我遇到此问题的实际网站:http://briennakh.me/world-around-you/ (悬停在右上角的菜单按钮上)
最佳答案
在您的 CSS 中,您设置了描述的 left
。让我们看看 left
等于什么。
希望我的图表有意义,因此:
var leftValue = this.offsetLeft-(description.offsetWidth-this.offsetWidth)/2;
关于javascript - 如何使用 offsetWidth 和 offsetLeft 动态地将一个 div 置于另一个 div 的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53182533/