2012-03-27 34 views
0

我有一个浮动工具提示div(以编程方式附加到主体节点)应该出现在文档[100,150]上,并且实现这一点我通过jQuery设置以下的CSS:浮动的div不在预期的位置时使用CSS左和顶定位使用绝对定位

.tooltip { 
    border-color: none; 
    width: 310px; 
    margin: 4em; 
    font-size: 1em; 
    padding: 0.5em; 
    z-index:9999; 
    position:absolute; 
} 

这是除工具提示工作很好地被显示比它低60-80像素:

var tooltip = //my tooltip element wrapped in jQuery object 
var targetLeft = 100; //Calculated 
var targetTop = 150; //Calculated 

tooltip.css({left: targetLeft, top: targetTop, display: '', opacity: 1.0}); 

的abolute位置从一个外部样式表继承应该。所以即使CSS在理论上将位置设置为[100,150],它实际上出现在[100,〜210]。

据我所见,我在CSS中指定了正确的坐标,并且从我对绝对定位的理解中,坐标是相对于文档的,因此在显示时没有任何东西应该抵消工具提示。如果我的理解错误,请纠正我。

这种情况一致发生在I.E. 6,Windows 10上的Firefox 10和Chrome 14。

有没有人遇到过(并解决过)类似的问题?这是一个真正的痛苦,并且因为垂直偏移不太合适,所以修复位置不是一个可行的选择。

非常感谢提前。

+0

你可以提供代码演示,甚至只是代码?和一个截图以及?我们不能通过描述它来确定是什么原因造成的。让代码为自己说话 – Joseph 2012-03-27 02:04:14

+1

是你的代码中的错字?你应该在顶部和左侧使用px:100px;顶:150像素; – 2012-03-27 02:04:44

+0

除了分号 – Jason 2012-03-27 02:05:25

回答

0

如果您的位置:绝对元素位于其他静态位置元素内,则他们将更改其基本偏移。

+0

谢谢你指出@virmaior,但是这个元素被插入到文档的主体节点的结尾。 我假设通过使用身体节点作为父母,我可以避免从任何其他元素继承偏移量。 – ert 2012-03-27 02:29:24