Позиционирование absolute относительно родительского элемента
У меня есть два блока div внутри другого блока div, и я хочу расположить один дочерний блок в верхнем правом углу родительского блока, а другой дочерний блок - внизу родительского блока с использованием CSS. То есть, я хочу использовать абсолютное позиционирование для обоих дочерних блоков, но так, чтобы они позиционировались относительно родительского блока, а не страницы. Как я могу это сделать?
Пример HTML:
<div id="parent">
<div id="child1"></div>
<div id="child2"></div>
</div>
2 ответ(ов)
В данном коде CSS мы видим два элемента с абсолютным позиционированием (div#son1
и div#son2
), которые находятся внутри родительского элемента с относительным позиционированием (div#father
).
Важный момент заключается в том, что абсолютное позиционирование работает относительно ближайшего родительского элемента с относительным или абсолютным позиционированием. В этом случае, div#son1
и div#son2
будут позиционироваться относительно div#father
.
Чтобы установить координаты для детей, вам необходимо заменить комментарий /* put your coords here */
на соответствующие значения, например:
div#son1 {
position: absolute;
top: 10px; /* отступ сверху */
left: 20px; /* отступ слева */
}
div#son2 {
position: absolute;
top: 50px; /* отступ сверху */
left: 70px; /* отступ слева */
}
Таким образом, вы можете контролировать расположение дочерних элементов внутри родителя. Не забудьте подставить свои значения координат в соответствии с тем, где вы хотите расположить элементы.
Если вы не укажете значение свойства position
для родительского элемента, по умолчанию оно будет static
. Чтобы понять разницу, посмотрите на следующий пример.
Пример 1:
#mainall {
background-color: red;
height: 150px;
overflow: scroll;
}
В этом примере у родительского класса отсутствует свойство position
, поэтому элемент располагается относительно тела страницы.
Пример 2:
#mainall {
position: relative;
background-color: red;
height: 150px;
overflow: scroll;
}
В этом примере у родительского элемента задано значение relative
, следовательно, дочерние элементы располагаются абсолютно относительно этого относительного родителя.
Как задать cellpadding и cellspacing с помощью CSS?
Как вертикально выровнять текст в div?
Как задать высоту body равной 100% высоты браузера?
Как центрировать текст (горизонтально и vertically) внутри блока div?
Как расположить div внизу своего контейнера?