2017-02-14 4 views
0

У меня есть элемент div (по умолчанию), содержащий и h1, и ссылку, обе из которых имеют абсолютное позиционирование. Естественно, высота элементов div сворачивается. Как заставить элемент div отрегулировать его высоту до двух его детей? Я попробовал стандартные clearfixes, установив переполнение в auto и установив позицию div относительно (это было предложение из другого сообщения, которое я нашел), но ни один из них не работал.Сделайте div, отрегулируйте его высоту до абсолютно позиционированных детей.

Я сделал jsfiddle, что иллюстрирует мою проблему.

HTML код:

<div> 
    <h1>the div doesnt go around this element</h1> 
</div> 

CSS код:

div {border: 2px solid;} 
h1 {position: absolute;} 
+0

Может ли вы показать код? – Mark

+1

Похоже, у него есть ответ на javascript [здесь] (http://stackoverflow.com/a/9061682) –

+0

Это поведение ожидается. Зачем вам h1 быть абсолютно в положении: абсолютный? :) .... ** возможно, вам нужен div в абсолютном положении, а не его детих. ** –

ответ

0

Использование мин-ширина для DIV в CSS так, что она покрывает высоту, необходимое для детей.

+2

Теперь вы просто предполагаете, что эти высоты не являются переменными. – Mart

+0

Они. Но в этом случае его можно считать постоянным, так как есть только два элемента. –

0

Я сделал jsfiddle помочь вам решить эту проблему с помощью JQuery: https://jsfiddle.net/9hubfbxt/

HTML-код:

<div id="parent"> 
    <div id="child1" class="child"> 

    </div> 
    <div id="child2" class="child"> 

    </div> 
</div> 

JQuery:

var height = 0; 
$("#parent .child").each(function() { 
    height = height + $(this).outerHeight(true); 
}); 

$("#parent").height(height); 

Сейчас высота может быть что-нибудь в зависимости от того, что внутри.

EDIT: я отредактировал jsfiddle с моим Jquery обходным: https://jsfiddle.net/4yuco4cL/1/

+1

моей целью было бы решить ее, просто используя css, но если я не найду ничего, я, вероятно, воспользуюсь кодом jquery. – Lukeception

+0

получил это, но тогда единственное решение, которое у вас есть, - это сделать элементы относительными, как вы сказали, вы не хотите .. или вам нужно знать высоту внутренних элементов и установить эти высоты в сочетании с высотой родитель. – Mart

Смежные вопросы