2010-09-17 71 views
1

是否有可能将底部元素#fooBar 40px放置在具有不同数量的li的ul#bar下方40px。我不想为每个#fooBar元素创建一个具有适当边距的类。请看这张图片http://yfrog.com/9gstructurewp使用jQuery创建边距以将元素定位在绝对定位元素之下

基本上我想取ul#bar的高度,然后把80px加到那个数字上,并使#fooBar的上边距。谢谢

+0

一个更好的例子将是很好的,我不明白你想要做什么不能用简单的CSS来处理。 – 2010-09-18 00:28:05

回答

1

这不行?

$('#fooBar').css('margin-top', $('ul#bar').height() + 80); 
+0

我应该补充一点:我现在从哪里登录,该图像被代理拦截,我没有看到它。 – 2010-09-17 19:45:51

+0

抱歉代理刚刚在图像小屋托管。但我认为你是对的,我在“+”号周围没有空格。 thx人。 – 2010-09-17 20:19:49

+0

很高兴帮助。 :) – 2010-09-18 18:54:28

1

绝对定位一个容器而不是ul容器会更容易一些,并且根据自己的喜好设置元素吗?通过这种方式,他们可以在没有JavaScript的情况下定位自己。

例如:

<html> 
<head> 
<style> 
#container{ 
    position:absolute; 
    top:100px; 
    left:100px; 
    background-color:lightblue; 
} 
#foo{ 
    width:100%; 
    background-color:navy; 
} 
#fooBar{ 
    width:100%; 
    background-color:green; 
    margin-top:80px; 
} 
</style> 
</head> 
<body> 

<div id="container"> 
<div id="foo">Foo</div> 
<ul> 
<li>Test</li> 
<li>Test</li> 
</ul> 
<div id="fooBar">fooBar</div> 
</div>  

</body> 
</html> 
+0

是的,鲍勃+1。如果#bar本身被绝对定位,它将从文档的流程中完全移除,因此#fooBar上的上边距永远不会对其相对于#bar的位置产生任何影响。在#foo和#fooBar周围包装一个共同的父元素,并且绝对地提出父母而不是#bar,应该按照你想要的来做,而且不需要JavaScript。 – RwwL 2010-09-17 19:53:39

+0

不可以。由于布局,它必须完全放置。相信我这是做到这一点的最佳方式。李的活动扩展并需要将内容重叠到右侧。 – 2010-09-17 20:19:05

+0

没有看到你在做什么,很难猜测为什么你绝对会这样做,但我认为你可能会误解绝对定位。您将从布局中完全删除它,因此它可以按照自己的规则进行播放,因此,任何尝试移动元素或使用它的尝试都将成为一个管道录音混乱。 – 2010-09-17 20:25:18