2016-09-11 5 views
0

Я установил позицию родительского div как относительную, а child div - абсолютно. Я планирую положить ребенка в правый верхний угол родителя. Но ребенок выходит из своего родителя. Может кто-нибудь дать мне причину, почему это произойдет и как это исправить.Почему мой дочерний div выходит из родительского div

Коды в этой ссылке: https://jsfiddle.net/wb878L7g/

* { 
 
    box-sizing: border-box; 
 
    border: 1px solid black; 
 
} 
 
div#chicken { 
 
    position: relative; 
 
    padding: 0; 
 
    background-color: yellow; 
 
} 
 
#chicken-title { 
 
    position: absolute; 
 
    right: 0px; 
 
    top: 0px; 
 
    margin: 0px; 
 
    background-color: red; 
 
}
<div id="chicken"> 
 
    <h3 id="chicken-title">chicken</h3> 
 
</div>

+2

Родитель коллапсирует как абсолютно позиционирован ребенок удаляется из потока документа. Поскольку у этого родительского div нет другого контента, он эффективно сжимается до нуля. Детский элемент * * отображается в верхней части справа от родителя. – j08691

ответ

1

Ваш DIV с ID цыпленком имеет высоту, которая меньше, чем «куриное название», поэтому он переполняется через край.

Если вы установили высоту в элемент «div # chicken», заголовок «chicken-title» появится, как вы ожидаете.

Например:

div#chicken { 
position: relative; 
padding: 0; 
background-color: yellow; 
min-height: 200px; 
} 

Примечание добавление свойства мин-высота.

Вот ссылка на отредактированную версию вашего jsfiddle:

https://jsfiddle.net/wb878L7g/2/

+0

Спасибо, Джош! Оно работает. Мне было интересно, есть ли какой-нибудь подход, который я могу сделать для некоторых настроек, чтобы получить ситуацию по умолчанию, когда родительский div имеет большую высоту, чем сумма всех его детей? – Peter

+0

Я считаю, что элементы блока блоков по умолчанию используются, если вы используете проценты. Например, два дочерних div с высотами 100% все еще содержатся в их родительском div с высотой, скажем 200px или что-то в этом роде. Но так как элемент chicken-title установлен абсолютно, я думаю, вам нужно явно объявить высоту родителя. –

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