Подтвердить что ты не робот

Есть ли способ для "position: absolute" div сохранить относительную ширину?

Допустим, у меня есть два div, один внутри другого, вот так:

<html>
  <body>
    <div id="outer" style="width:50%">
      <div id="inner" style="width:100%">
      </div>
    </div>
  </body>
</html>

Прямо сейчас, внутренний div имеет ширину 100% от 50% размера экрана или 50% от размера экрана. Если бы я изменил внутренний div на абсолютную позицию, вот так:

<html>
  <body>
    <div id="outer" style="width:50%">
      <div id="inner" style="position:absolute;width:100%">
      </div>
    </div>
  </body>
</html>

В этом случае внутренний блок занимает 100% экранного пространства, потому что его позиция установлена на абсолютное значение.

Мой вопрос таков: есть ли способ сохранить относительную ширину внутреннего элемента div, когда его положение установлено на абсолютное значение?

4b9b3361

Ответ 1

Добавьте позицию: относительный к вашему внешнему div.

update: Это работает, потому что позиции в position: absolute относятся к первому родительскому объекту, который имеет некоторое позиционирование (отличное от статического). В этом случае такого контейнера не было, поэтому он использует страницу.

Ответ 2

Да. Установите внешнее положение: относительное.

http://jsfiddle.net/57673/

.outer
{
  width: 50%;
  height: 200px;
  position: relative;
  border: 1px solid red;
}

.inner
{
  width: 100%;
  position: absolute;
  height: 100%;
  border: 1px solid blue;
}