2017-07-14 210 views
1

我使用datamaps来显示世界各国,但图中居中。当我徘徊在一个国家时,弹出窗口会一直显示在左边,如果我没有将其置于中心位置,那么这个弹出窗口就会显示在国家的位置。我相信问题是CSS:Datamaps悬停弹出

#map { 
    margin: 0px auto; 
    width: 700px; 
} 

但我不知道如何以不同的方式居中它。

有什么方法可以改变弹出窗口的位置吗?提前致谢!

enter image description here

(我尝试添加一段代码,但它得到一个错误,因为某些原因。)

回答

0

改变立场是相对的工作。正如Eric Hoose的例子所示,<div>是相对的,所以悬停仍然有效。

#map { 
    margin: 0px auto; 
    width: 700px; 
    position: relative; 
} 
1

的hoverover弹出连接到通过数据地图,hoverover类的DOM。默认情况下,d3设置此位置:绝对,根据鼠标的位置动态设置顶部和左侧属性。由于该位置是绝对的,因此您将地图居中放置并不重要。

例如,我加了你的CSS(同时重命名ID匹配为例):

#container1 { 
    margin: 0px auto; 
    width: 700px; 
} 

到数据地图使用作为一个例子here的jsbin。

正如您所看到的,即使地图居中,弹出窗口仍处于正确的位置。