почему не отображается этот встроенный блок - позиционирование css и уровень / порядок в стеке - PullRequest
0 голосов
/ 14 октября 2011

Я читаю w3c.org Спецификация визуального форматирования .

Может ли кто-нибудь объяснить мне, почему встроенное поле "external" не отображается в моем примере здесь ?Я пытался понять абсолютное и относительное расположение.Поскольку позиционирования на теге <p> не было, я подумал, что, установив значения позиционирования на <div>, <span id="outer"> будет абсолютно позиционироваться на div.Но этого не происходит.Если я удалю position:relative из <div>, отобразится <span id="outer">.Я попытался установить z-index на <p>, чтобы изменить порядок наложения и сделать его выше, чем <div>, но это тоже не сработало.Из того, что я понимаю, если элемент position:absolute, он будет проходить через DOM для первого «позиционированного» элемента и позиционировать себя с этим «родительским» элементом.И если позиционирование не найдено, он будет позиционироваться на содержащий его элемент.Похоже, этого не происходит, поскольку его содержащий элемент равен <p id=inline>, когда позиционирования нет, но <div id="container"> имеет position:relative.Я надеюсь, что я объясняю это правильно.

1 Ответ

0 голосов
/ 14 октября 2011

Отображается правильно, но все равно подчиняется границам содержащего элемента div. У вас есть этот div, установленный в «overflow: hidden», и абсолютная позиция диапазона #outer заставляет его выходить за границы div, поэтому он фактически невидим.

Если вы снимите «Переполнение: скрытый», вы увидите, что окно отображается сразу.

...