JayOrson
@JayOrson

Как растянуть элемент на всю ширину, если у родителя задан position: relative?

Всем привет!
Сильно не пинайте - нигде не нашел как сделать, все что знал - перепробовал.

Задача. Есть два блока, вложенных друг в друга. У первого блока position: relative, у внутреннего absolute. Так же, у первого стоит ограничение по ширине. Не меняя два эти атрибуты, внутренний блок нужно растянуть на всю ширину браузера. Может кто подскажет, как сделать :)
<div class='first-block'>
  <div class='second-block'>
    HELLO WORLD!
  </div>
</div>

.first-block {
  width: 400px;
  height: 200px;
  position: absolute;
}
.second-block {
  width: 100%;
  height: 100px;
  position: absolute;
}

Сам пример здесь - codepen.io/orson/pen/QjJvaV
  • Вопрос задан
  • 10057 просмотров
Пригласить эксперта
Ответы на вопрос 2
L0k1
@L0k1
Дич конечно)
Ну задай внутреннему ширину 100vw
Ответ написан
VIKINGVyksa
@VIKINGVyksa
front-end developer
Если можно менять отображение у второго блока то лучше отображать его как fixed, тогда размеры будут заданы относительно body. Если чётко вложены друг в друга, и нельзя менять позиции то вы неправильно верстаtте, такой задачи не должно было даже появиться. Вам нужен блок который будет занимать всю ширину браузер, вы можите его запихнуть в корень где relative будет указывать на body либо из любой вложенности но fixed. Возможно может что-то получитья если использовать flexbox но я его не знаю)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы