У меня есть два элемента div внутри другого элемента div, и я хочу расположить один дочерний элемент div в верхнем правом углу родительского элемента div, а другой элемент div - внизу родительского элемента div с помощью css. Т.е. я хочу использовать абсолютное позиционирование с двумя дочерними элементами div, но расположить их относительно родительского элемента div, а не страницы. Как я могу это сделать?
Образец HTML:
<div id="father">
<div id="son1"></div>
<div id="son2"></div>
</div>
Ответы:
Это работает , потому что
position: absolute
означает что - то вроде «использованияtop
,right
,bottom
,left
позиционировать себя по отношению к ближайшему предку , который имеетposition: absolute
илиposition: relative
.»Таким образом , мы делаем
#father
естьposition: relative
, и у детейposition: absolute
, а затем использоватьtop
иbottom
для размещения детей.источник
#father { position: relative; }
требуется?static
.источник
В случае, если кто-то хочет выставить ребенка div прямо под родителем
Рабочая демоверсия Codepen
источник
Если вы не предоставляете никакой позиции родителю, то по умолчанию это занимает
static
. Если вы хотите понять эту разницу, обратитесь к этому примеруПример 1 ::
http://jsfiddle.net/Cr9KB/1/
Здесь родительский класс не имеет позиции, поэтому элемент размещается в соответствии с телом.
Пример 2 ::
http://jsfiddle.net/Cr9KB/2/
В этом примере родитель имеет относительное положение, следовательно, элемент позиционируется абсолютно внутри относительного родителя.
источник