Ответ.
Относительное позиционирование задаётся указанием
position: relative
.
left
, right
, top
, bottom
для относительно позиционированного элемента?
Относительно чего отсчитываются смещения, задаваемые этими
свойствами? Что происходит на экране с элементом, для которого
указано относительное позиционирование и заданы смещения?
Ответ.
Свойства
left
, right
, top
, bottom
для относительно позиционированного элемента задают его смещение от того
положения, который элемент занимал в потоке. Элемент смещается на указанное
расстояние, сохраняя при этом своё прежнее форматирование (вид) на экране.
С одной стороны, элемент удаляется из потока и размещается над ним
(возможно перекрывая другие элементы), а с другой стороны, его прежнее место
в потоке не занимают другие элементы (оно остаётся пустым). Кроме того,
в отличие от абсолютного позиционирования, ширина элемента не устанавливается
по содержимому, а остаётся той, которая была у элемента в потоке.
Ответ.
В этом случае смещение, противоположное принятому в языке за
основное, обнуляется. Например, если задано одновременно смещение
влево и вправо, то для языков с написанием слева направо обнулится
смещение вправо, а для языков с написанием справа налево, обнулится
смещение влево. Аналогично, если одновременно заданы смещения
top
и bottom
, то для языков с написанием слева направо
обнулится bottom
.
Ответ.
Если для такого элемента не заданы смещения (при помощи указаний
left
, right
, top
, bottom
),
он ведёт себя как статический: остаётся в потоке и форматируется так,
будто позиционирование для него не задано вовсе.
Ответ. Чаще всего на практике применяют относительное позиционирование блока без указания смещений. Таким образом определяется точка отсчета для абсолютно позиционированных потомков.