所以基本上我有这样的布局:

<div id="header">
   <div id="elementAbsolute">
   <div id="headerElement1">
   <div id="headerElement2">
</div>

<div id="content">
etc etc

我的问题是 div id "elementAbsolute"可以在页面上随机打开或关闭。我对此无能为力。当它打开时,它需要出现在标题下方但在内容之前。因为它是绝对定位的,所以它只是出现在内容上。显然,它不会在自身上方或下方创建任何垂直空白。

在此特定模板中,必须在标记中的位置调用该元素。它不能移动。有没有办法,可能是通过javascript,说如果“elementAbsolute”被打开并存在于“header”div内的页面上,那么在header和content div之间移动它并创建一些空白?

另请记住,此模板用于多个站点,因此只有在“header”中存在“elementAbsolute”时才能添加空格。

我正在考虑使用 jQuery after() 函数在它之前和之后放置一个空的 div 来创建那个空间,但是我的问题变成了我只希望这个函数在页面上有“elementAbsolute”时运行,否则无论如何我都会有空格。

谢谢你的帮助!

最佳答案

如果 elementAbsolute 具有固定高度,那么一个简单的解决方法是将空格添加到 headerElement 1 或 2 中

#elementAbsolute + #headerElement1 + #headerElement2
{
  margin-bottom: 50; /* Size of absolute element /*
}

关于jquery - 加载后如何在绝对定位的元素周围附加边距或填充?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8825735/

10-11 23:25