прозрачная оболочка div, содержащая ap div - PullRequest
0 голосов
/ 12 января 2011

Наткнулся на место, где я абсолютно ДОЛЖЕН использовать ap divs. Проблема в том, что я не могу найти способ очистить мой div обертки. Ни один из моих приемов не работает.

Я хочу потерять настройку высоты для div обертки и все еще содержать ap div.

Есть идеи?

<pre>
<code>
#wrapper {
 position:relative;
 width:600px; 
 height:1200px; --- wanna dump this but can't find way to clear
 margin-right: auto;
 margin-left: auto;
 background-color: #0CF;
 z-index:100;
}
#apDiv1 {
 position:absolute;
 width:200px;
 height:115px;
 z-index:1001;
 left: 89px;
 top: 329px;
 background-color: #0C0;
}
#apDiv2 {
 position:absolute;
 width:100px;
 height:50px;
 z-index:1000;
 left: 383px;
 top: 36px;
 background-color: #F39;
}

div id=wrapper  
  div id=apDiv1  closediv
  div id=apDiv2 closediv  
div-- close wrapper

Ответы [ 3 ]

0 голосов
/ 12 января 2011

Вы не можете.Вы должны указать высоту оболочки, чтобы содержать внутренние абсолютно позиционированные элементы.Абсолютно расположенные элементы не занимают места, поэтому обертка не может обернуться вокруг них.

И ap div замечательны, когда используются в правильном контексте.Вы не должны бросать их из рук.

0 голосов
/ 20 июня 2013

Вы можете получить самого высокого потомка и добавить этот самый высокий рост к родителю с помощью jQuery ниже

var t=0; // the height of the highest element (after the function runs)
var t_elem;  // the highest element (after the function runs)
$("*",elem).each(function () {
    $this = $(this);
    if ( $this.outerHeight() > t ) {
        t_elem=this;
        t=$this.outerHeight();
        alert(t);
    }
});
0 голосов
/ 12 января 2011

Очистка используется для поплавков, а не для абсолютно позиционированных элементов.Вы не можете очистить абсолютно позиционированные элементы.

...