Показать сообщение отдельно
  #14 (permalink)  
Старый 30.09.2015, 18:02
Аватар для mikhail.golovkin
Интересующийся
Отправить личное сообщение для mikhail.golovkin Посмотреть профиль Найти все сообщения от mikhail.golovkin
 
Регистрация: 11.12.2013
Сообщений: 16

Сообщение от Siend Посмотреть сообщение
То есть по сути элементы не должны видеть друг друга, т.е. вести себя как при position:absolute;
В чем я ошибаюсь? (а я ошибаюсь, это очевидно)

Тут речь идёт об элементах внутри контекста, т.е. внутри каждого из блока с одим из свойств, создающих контекст.
Может быть, спецификация прояснит лучше.
http://www.w3.org/TR/CSS21/visuren.h...ock-formatting

Вольный перевод:

Сообщение от w3c spec
9.4.1 Блочные контексты форматирования.

Плавающие блоки, абсолютно позиционированные элементы, блочные контейнеры (такие, как inline-block, table-cells и table-captions) не являющиеся блочными элементами, и блочные элементы с 'overflow' отличным от 'visible' (за исключением случаев, когда значение наследуется от viewport) устанавливают новые блочные контексты для их содержимого.

В блочном контексте форматирования блоки располагаются вертикально один за другим от верха родительского блока. Вертикальное расстояние между двумя соседними блоками определяется свойствами 'margin'. Вертикальные отступы между соседними блоками объединяются.

В блочном контексте форматирования каждый левый край блока касается левого края родительского блока (для выравнивания справа налево касается правым). Это верно даже в присутствии плавающего блока (при этом строчные элементы могут обтекать плавающий блок), если только блок не устанавливает новый контекст (в этом случае сам блок может обтекать плавающий блок).

Что и подтверждается практикой. Блочный элемент занимает всю доступную ширину с учётом плавающих блоков.
Если установить ширину 100%, то блочный элемент физически не может обтекать и смещается ниже. Ведь он принимает ширину родителя и просто не помещается.

Последний раз редактировалось mikhail.golovkin, 01.10.2015 в 18:36. Причина: неточности в формулировках, сбивающие с толку
Ответить с цитированием