flоat
. Какие значения
может принимать это свойство? Как действуют эти значения?
Какое значение работает по умолчанию? К каким элементам можно применять
это свойство, передаётся ли оно по наследству?
Ответ.
Свойство flоat
заставляет другие элементы обтекать
элемент-носитель свойства. Свойство может принимать следующие значения:
left
— элемент прижимается слева, обтекание справа;
right
— элемент прижимается справа, обтекание слева;
none
— обтекания нет (значение работает по умолчанию).
Свойство применимо ко всем элементам, по наследству не передаётся.
flоat
. Как изменится
его поведение? Останется ли элемент строчным?
Ответ. Характерные черты поведения строчного элемента в потоке:
Строчный элемент, к которому применили свойство flоat
,
становится блочным.
Ответ. Внешний край внешнего отступа плавающего элемента соприкасается с краем области содержимого своего контейнера:
Ответ. Верх плавающего элемента занимает такое место, которое оно имело бы в потоке, за исключением одного момента: внешние отступы плавающего элемента не схлопываются.
Ответ.
Первое правило. Если плавающий элемент создан из строчного элемента, его верх (верх его внешнего отступа) не может подниматься выше верха той строки, в которой он находился бы в обычном состоянии.
Второе правило. Плавающий элемент должен располагаться максимально высоко, не нарушая при этом первое правило.
Ответ. Плавающий элемент поднимается над потоком. Он смещается по горизонтали к краю области содержимого своего контейнера. Блоки, следующие за ним, подтягиваются вверх и занимают освободившееся место в потоке.
Однако плавающий элемент не перекрывает содержимое других блоков. Содержимое начинает обтекать плавающий блок со свободной стороны.
flоat
(left
и right
).
Ответ.
Между плавающими элементами в потоке были другие элементы. В этом случае второй блок оказывается ниже первого:
Плавающие элементы в потоке шли подряд. В этом случае блоки располагаются на одной горизонтали (если для этого хватает места):
Плавающие элементы имеют разнотипное значение свойства
flоat
(left
и right
). В этом
случае блоки располагаются на одной горизонтали при условии, что в HTML-коде
они идут подряд и в области просмотра хватает места. Блоки прижимаются
к разным сторонам контейнера:
Ответ. Высота первого блока (высота области его содержимого) окажется равной нулю, если кроме второго блока в первом нет других элементов. Второй блок стал плавающим, он удаляется из потока и его родитель оказывается пустым.
Ответ. Нужно первый блок также сделать плавающим. Плавающий элемент не выходит за пределы своего плавающего родителя (если только не заданы отрицательные внешние отступы).
Ответ.
Прекратить обтекание позволяет
свойство clear
. Оно может принимать следующие значения:
clear:left
— прекращает обтекание
элементов float:left
;
clear:right
— прекращает обтекание
элементов float:right
;
clear:both
— прекращает обтекание
элементов float:left
и float:right
.
clear:none
(работает по умолчанию) —
допускает обтекание с любой стороны.
Свойство clear
применимо только к блочным элементам
(например, нельзя использовать <BR style="clear:left">
,
так как элемент BR
— строчный),
по наследству не передаётся.
Блок, в котором задано свойство clear
опускается, пока
не окажется ниже плавающего элемента.