2010-03-05 42 views
1

我一直在试图建立与jQuery的菜单面板可以在这里通过点击顶部的预览按钮可以看出:JQuery的定位问题

http://jsbin.com/amexi/edit

问题:

如果你悬停在链接二链接三,黑色面板来完美取代各自的蓝色链接,但是,如果你盘旋链接一,黑色面板低于该链接。我在那里怎么了?我怎样才能解决这个问题?

谢谢。

回答

4

您需要考虑自动应用于<ul>元素的边距。

如果您使用Firebug查看您的页面,您会注意到Firefox应用16px的顶部和底部边距。

+0

正确! 将此内容添加到您的CSS: ul {padding:0; margin:0} – 2010-03-05 19:14:26

+0

@Jer:谢谢,我也没有出去,但忘了。谢谢:) – Sarfraz 2010-03-06 04:38:35

1

如上所述,您可以对.left类应用margin-top值-16px以获得您的预期行为。

http://jsbin.com/amexi/3/edit

+0

保证金值不是相对于其当前值。将顶部边距设置为0将是正确的解决方案。 – Jeremy 2010-03-05 19:21:12

+0

是的,正如Jer说的,添加ul {padding:0; margin:0;}(在'ul#menu li a'规则下面)是正确的解决方案。 – Adnan 2010-03-05 19:26:17

+0

为了避免像这样的东西,我通常会在样式表顶部填充边距和填充。 – Jeremy 2010-03-05 19:32:03

1

退房http://jsbin.com/amexi/5/edit

我只是想不通,为什么TOP是所有的弹出窗口相同,但他们全部的实际位置是不同的。没有意义。它几乎就像一个负边缘。

我发现的主要问题是,您没有将弹出窗口移动到链接位置+将其偏移到.top + .height。