2012-11-12 85 views
0

我想知道是否有任何方法可以解决我遇到的问题。位置:绝对导致元素消失

我有三个div的嵌套在彼此

<div class="section"> 
<div class="parent"> 
<div class="child"> 
Some text.. blah blah. 
</div> 
</div> 
</div> 

我做了家长的高度由孩子与这个JavaScript高度决定:

$(document).ready(function() { 
      var $holdme = $(".holdme"); 
      $holdme.parent().height($holdme.outerHeight()); 
     }); 

然而,这只能当子元素没有被绝对定位。当我将.child设置为绝对位置时,会导致父元素和子元素消失。是否有任何方法将孩子设置为绝对值,并使父容器的高度变化以适合孩子的身高?

这是一个小提琴......现在它工作正常,但绝对定位没有设置为子元素。从左右的位置删除注释标记:绝对会破坏所有内容。

http://jsfiddle.net/jjalbert/dHt7L/3/

+0

当然你没事,那是一个愚蠢的错误。不幸的是,我仍然在实际的代码中遇到问题......我只是认为我在小提琴中重新创建了问题,但是我忘了更改该类,从而产生了一个新问题:P – jjalbert

+0

可能最好留下这个问题,因为它是,找出如何重现问题,并用更新的小提琴问另一个问题。如果我看到新版本,我会尽力回答。 –

回答

2

您的HTML不使用holdme类,和你的小提琴没有进口的jQuery。 Correcting both of these makes it work fine

$(document).ready(function() { 
     var $holdme = $(".child"); 
     $holdme.parent().height($holdme.outerHeight()); 
    }); 
2

有任何地方不加.holdme类...

如果是这样.chlid

var $holdme = $(".child"); 

,只要你想,如果你做出这种改变它的工作原理..

演示在http://jsfiddle.net/gaby/dHt7L/8/

1

继承人的工作版本小提琴:

http://jsfiddle.net/dHt7L/10/

$(document).ready(function() { 
     var $holdme = $(".child"); 
     $holdme.parent().height($holdme.outerHeight()); 
    }); 

我删除了您的溢出:规则..不知道它是否重要,但是我的工作流程的一部分

相关问题