2011-11-17 16 views
2

免责声明:好的,所以我知道,通过隐藏页面顶部的div w/jQuery并添加事件处理程序到它。jQuery/PHP的顶级通知栏,推动所有页面内容下降

困境:我需要在一个页面上加入一个通知栏,它将bg图像设置为body,所以当你在顶部显示()一个div时,它会将所有内容向下推动,抛出整个网站。我试图避免将所有内容封装在div中,并将bg css切换到该div,因为担心会抛出其他子元素的样式。

如果有人知道推送所有页面内容的方法(包括内容),我将不胜感激任何智慧。

+0

你是什么意思甩开整个网站?你有演示还是小提琴? –

+0

下面的两个答案将解决您的问题。因为这个问题的表述方式使得它有点含糊不清,所以很难对其中任何一个提出支持。如果您想要移动背景,请使用$('body')。preprend('#notice')方法;如果您不想移动背景,请与现有内容相关,请使用margin-top方法。 – rkw

回答

2

您可以使用body元素上的margin-topbackground-position的组合来偏移背景图像。

$('#note').show(); // absolute positioned at top of page 
$('body').css({marginTop: '50px', backgroundPosition: '0 50px'}); 
+0

首先感谢大家的时间。 – Swordfish0321

+0

@rkw如果我提出任何含糊不清的问题,我很抱歉。我按照你的建议(w/body和html)尝试了prepend()函数,并且两次都将内容向下移动而不移动bg。 Derek Hunziker,我最终使用了你的.css方法,并最终推动了我的BG,并让我实现了我试图完成的任务。谢谢大家的意见! – Swordfish0321

+0

很高兴为你效劳!不要忘记标记为答案;) –

0

您可以尝试使用jQuerys .prependTo()将div加到您的内容的顶部。通过这种方式,新的div元素将自然而然地放在一切之前,然后您还可以轻松地设置元素的样式。这应该让你的背景保持在同一个位置。

+1

这样也不会移动背景,就像提问者想要的那样。 – icktoofay

相关问题