Прочитайте это: https://developer.mozilla.org/en/docs/Web/CSS/position
Абсолютное позиционирование:
Не оставляйте пространство для элемента. Вместо этого поместите его в заданное положение относительно его ближайшего расположенного предка, если таковое имеется, или иначе относительно исходного содержащего блока. Абсолютно расположенные поля могут иметь поля, и они не сжимаются с любыми другими полями.
Вообще говоря, когда у вас есть позиционируемый элемент (в основном ничего, кроме static
), он создает новый контекст позиционирования для дочерних элементов. (Хорошо, на самом деле это может быть не совсем так просто и имеет некоторые зависимости от браузера, особенно когда дело доходит до fixed
.) В вашем примере внутренний div будет придерживаться нижней части внешнего div.
Что происходит с лучшими практиками, создание полномасштабных макетов с абсолютным позиционированием, как правило, не очень хорошая идея. Для макетов используйте такие вещи, как float и свойство display
. Но кроме этого нет ничего плохого в использовании абсолютного позиционирования для вещей, например, находятся поверх других вещей и, таким образом, на самом деле не являются частью базовой компоновки. Не бойтесь устареть.
Выглядит хорошо для меня, вы можете установить максимальную высоту и переполнение для дочернего элемента, чтобы он мог показывать полосу прокрутки, если она достигает верхней части родителя. Родитель может также находиться в относительном положении, чтобы оставаться в потоке всего документа. –
Это поведение вложенных абсолютных элементов, как указано в спецификации. То, что вы имеете в виду с элементом, прикрепленным к нижней части окна, является совершенно другим значением 'position', называемым' fixed'. Совершенно безопасно использовать вложенные, абсолютно позиционированные элементы. –