как установить высоту родительского элемента абсолютно позиционированного элемента для увеличения / уменьшения с дочерним

#html #css

#HTML #css

Вопрос:

итак, у меня есть это:

 <div id="parent">
    <div id="child"></div>
</div>
  

оформленный следующим образом:

 #parent {
    width: 100%;
    padding: 10px;
}

#child {
    position: absolute;
    width: auto;
    left: 0px;
    right: 0px;
}
  

как я могу настроить #parent для увеличения и уменьшения высоты с помощью #child .

Я знаю, что установка дочернего элемента в абсолютное положение выводит его из обычного потока, поэтому родительский элемент теряет способность видеть высоту дочернего элемента, но есть ли какой-либо способ, которым я могу очистить его, возможно, как вы сделали бы с помощью float?

Комментарии:

1. это невозможно, но когда у вас есть overflow: auto, родительский div принимает высоту дочернего элемента и показывает прокрутки. может быть, jqyery поможет

Ответ №1:

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

 var resizeParent = function() {
  var child_height = $('#child').height();
  $('#parent').height(child_height);
};

$(window).resize(function() {
  resizeParent();
});

$document.ready(function() {
  resizeParent();
});
  

Комментарии:

1. Есть предложения о том, как выполнить это с помощью AngularJS, в директиве?

2. Событие изменения размера не запускается на DOM-узлах, только на window.