Для того, чтобы сделать более сложный шаблон, мы должны обсудить стилевое свойство position
. Оно имеет кучу возможных значений, названия которых лишены смысла и их невозможно запомнить. Давайте рассмотрим одно значение за другим по очереди. Не исключено, что вам следует добавить эту страницу в закладки.
static
является значением по умолчанию. Элемент с position: static;
отображается как обычно и не будет позиционироваться каким-либо специальным способом, он просто плюхнется вниз.
relative
ведет себя в точности как static
но лишь до тех пор, пока вы не добавите некоторые дополнительные свойства.
Добавление свойств top
, right
, bottom
, и left
изменяет позицию элемента, сдвигая его в ту или иную сторону относительно его начального расположения. Другой контент не будет перестраиваться, чтобы заполнить любое свободное пространство, оставленное этим элементом.
Привет! Не обращай на меня внимания.
</div>
Фиксированное позиционирование элемента относительно окна браузера таково, что он всегда занимает одно и тоже место даже при прокрутке страницы, словно он приклеен к экрану. Также как и для relative
, дополнительные свойства top
, right
, bottom
, и left
для данного позиционирования будут работать.
Я уверен, что вы заметили этот неподвижный элемент в правом нижнем углу страницы. Если же нет, то обратите внимание на него сейчас. Вот CSS, который применяется к нему:
Фиксированный элемент не оставляет за собой свободное пространство на странице, где он был расположен.
У мобильных браузеров достаточно шаткая поддержка фиксированного позиционирования. Узнать больше об этой ситуации можно здесь..
absolute
наиболее сложное значение позиционирования. absolute
ведет себя как fixed
за исключением того, что позиционирование отсчитывается относительно ближайшего расположенного родителя а не относительно окна браузера. Если элемент абсолютно позиционирован и не имеет родителя,то он использует тело документа и продолжает двигатся вместе со всей страницей при скроллинге. Помните , что "позиционированный" элемент - это элемент с любым значением свойства position кроме значения static
.
Вот простой пример:
Этот элемент относительно позиционированный. Если бы элемент имел значение position: static;
то его асболютно позиционированный ребенок убежал бы и стал позиционироваться уже относительно тела документа.
Этот элемент абсолютно позиционированный. Он позиционирован относительно его родителя.
</div>
Этот материал на первый взгляд может показаться сложным, но он очень важен, чтобы создавать хорошую CSS разметку. На следующей странице мы будем использовать position
на практике.