0

我有一个盒子,里面有两个漂浮的盒子。如果视口很大,则这些框彼此相邻。如果视口很小,则这些框一个在另一个之上(带有固定宽度和高度的 jsFiddle 只是为了说明我的两种情况:http: //jsfiddle.net/5wpH9/

我想使用 jQuery 给容器框一个高度(不相关,但我的包装器中的每个元素都需要有一个固定的高度,不能有元素自由浮动而不占用垂直空间)。我需要根据里面的元素是否相互浮动来计算这个容器框的高度

里面的小盒子有固定的高度,所以结果会是这样的:

  • 如果元素彼此相邻,则使容器高度为 200px
  • 如果元素一个在另一个之上,则使容器高度为 400px

我能想到的唯一方法是从第二个框的顶部到容器的顶部进行offset()orposition()计算(如果超过 10px,则应用更改)。但我想知道是否有更好的方法,更直接的方法。

4

2 回答 2

2

检查.position()还不错:

if($("#topElement").position().top - $("#bottomElement").position().top > 10) {
    $("#bottomElement").css("height", "400px");
}

当然,您会想要更改 ID——但您明白了。

于 2012-09-12T23:42:37.363 回答
0

我不明白,我的意思是你不能用 CSS 让容器适应它的内容吗?
overflow: hidden在容器上应该可以解决问题,height不需要。

演示:http: //jsfiddle.net/elclanrs/5wpH9/3/

于 2012-09-12T23:45:50.917 回答