Как блок внутри контейнера вытнуть в левую часть страницы

173
15 апреля 2018, 21:02

.main-block{ 
  height: 500px; 
  width: 300px; 
  margin: 0 auto ; 
  background-color:red; 
} 
 
.some-block{ 
  height: 100px; 
  background-color:yellow; 
} 
 
.need-block{ 
  height: 100px; 
  background-color:green; 
  width: 100vw   
}
<div class="main-block"> 
  <div class="some-block"></div> 
  <div class="need-block"></div> 
  <div class="some-block"></div> 
</div>

Вот пример и мне нужно, чтоб зелёный блок был на всю страницу и начался с самой левой части страницы. Как это реализовать? Из контейнера я достать не могу и margin-left: сделать немогу(не знаю сколько, т.к. margin: o auto и не хочется отрицательных значений)

Answer 1

window.addEventListener('load', ()=>{ 
    const div = document.querySelector('.need-block'); 
    let margin = div.getBoundingClientRect().left; 
    div.style.marginLeft = `-${margin}px`; 
    div.style.width = `100vw`; 
});
.main-block{ 
  height: 500px; 
  width: 300px; 
  background-color:red; 
} 
 
.some-block{ 
  height: 100px; 
  background-color:yellow; 
} 
 
.need-block{ 
  height: 100px; 
  background-color:green; 
  width: 100vw   
}
<div class="main-block"> 
  <div class="some-block"></div> 
  <div class="need-block"></div> 
  <div class="some-block"></div> 
</div>

Answer 2

Просто указать абсолютное позиционирование без указание top и всё ...

.main-block { 
  height: 500px; 
  width: 300px; 
  margin: 0 auto; 
  background-color: red; 
} 
 
.some-block { 
  height: 100px; 
  background-color: yellow; 
} 
 
.need-block { 
  height: 100px; 
  background-color: green; 
  width: 100vw; 
  position: absolute; 
  left: 0; 
}
<div class="main-block"> 
  <div class="some-block"></div> 
  <div class="need-block"></div> 
  <div class="some-block"></div> 
</div>

READ ALSO
Проблема с адаптивностью CSS [требует правки]

Проблема с адаптивностью CSS [требует правки]

Как можно подправить css код, чтобы на узких по длине окон не отображалась эта граница?

180
Как растянуть блок по ширине?

Как растянуть блок по ширине?

Я правильно понимаю, что этот код растянет div по ширине от 255px до правого края?

232
Как подчеркнуть текст кастомно? [требует правки]

Как подчеркнуть текст кастомно? [требует правки]

Как в подчеркнуть текст кастомно?

200
Вызов класса Applicaton

Вызов класса Applicaton

Как вызвать класс dialogstarter из класса MainController ?

249