2016-10-12 2 views
3

В CSS2.2, 9.4.3 Relative positioning, говорится, что:Когда относительно позиционированный блок устанавливает новый содержащий блок?

Относительно позиционированный бокс сохраняет нормальный размер потока, в том числе линии разрывов и первоначально зарезервированные для него. В разделе, посвященном containing blocks, объясняется, когда относительно позиционированный блок устанавливает новый содержащий блок.

и раздел containing blocks является:

В CSS 2.2, многие позиции и размеры коробки рассчитываются по к краям прямоугольной коробки называется , содержащий блок. В общие, сгенерированные коробки действуют как содержащие блоки для потомков коробки; мы говорим, что ящик «устанавливает» содержащий блок для своих потомков. Фраза «блок, содержащий блок» означает « , содержащий блок, в котором находится ящик», а не тот, который он генерирует.

Каждый ящик имеет положение относительно его содержащего блока, но не ограничивается этим блоком; он может overflow.

details, как рассчитываются размеры содержащегося блока описаны в next chapter.

, который я не думаю, действительно "объясняет, когда относительно позиционированный блок устанавливает новый содержащий блок".

Мой вопрос: делает ли относительно позиционируемую коробку новый блок, содержащий только тогда, когда он имеет потомок (потомки), как коробки, которые не расположены относительно друг друга? Если да, то почему добавление ссылки на containing blocks в раздел на relative positioning?

ответ

2

Одно отличие заключается в том, что относительно позиционируемое поле является встроенным ящиком. Встроенный блок обычно не является содержащим блоком, поэтому, например, плавающий элемент, который является потомком элемента с display:inline;, не перемещается к краю его родительского элемента, а к краю его элемента-предка, который устанавливает его содержащий блок.

Но встроенная коробка, которая находится относительно позиционирована делает устанавливает содержащий блок для своих абсолютно позиционированных потомков. См. Второй и третий примеры: 9.8.4 Absolute positioning