2017-02-05 6 views
1

Возможно ли полное обнуление абсолютного положения div с относительным положением div без определения значений высоты и ширины пикселя внешнего относительного положения div? Здесь я не вижу красную границу "outerrelativediv", как показано на рисунке "innerabsolutediv".Как полностью обернуть абсолютное положение div с относительным положением div?

<div id="outerrelativediv" style="position:relative;display:inline-block;border:1px solid red;"> 
    <div id="innerabsolutediv" style="position:absolute;display:inline-block;"> 
    SOMETEXT HERE!!! 
    </div> 
</div> 

https://jsfiddle.net/L3bytwnj/

+0

какой смысл тогда быть абсолютным для внутреннего? Пусть это тоже относительный –

+1

Нет, не придавая ему высоты какого-либо вида, или, по крайней мере, позволяя ему подниматься от другого ребенка нормального потока. – TylerH

+0

Без причины Мне просто интересно, если это возможно? – sommeguyy

ответ

3

Простой ответ есть: нет.

Когда вы указываете элемент position: absolute;, вы принимаете его вне нормального потока содержимого. Если это единственный дочерний элемент родительского элемента, родительский контент не будет иметь потока. Он будет пустым.

Обычно пустые html элементы имеют width и height значения 0 и, в свою очередь, не занимают места в нормальном потоке контента. Существуют исключения, которые могут вызвать визуализацию пустого элемента, например, быть дочерним элементом родителя flex, который растягивает его дочерние элементы. Но в какой-то момент по цепочке родителей один из них должен иметь заданное измерение или хотя бы некоторое содержание (возможно, в цепочке братьев), которое генерирует некоторые height/width, иначе они все будут просто большой цепочкой пустых элементов не оказываются.

Кроме того, padding и border атрибутов на ребенке генерация width/height на родительских элементах, даже если ребенок не имеет содержания.

Смежные вопросы