Один из вариантов - использовать псевдо- ::before
элемент CSS, который будет изменять размер в высоту вместе с col-lg-6
..
#main {
background: lightgreen;
height: 100vh;
}
#main > .row {
height: 100vh;
}
.left {
background: red;
position: relative;
top: 50%;
transform: translateY(-50%);
}
.left:before {
left: -999em;
background: red;
content: '';
display: block;
position: absolute;
width: 999em;
top: 0;
bottom: 0;
}
<div class="container" id="main">
<div class="row">
<div class="col-lg-6 left">
..
</div>
</div>
</div>
http://www.codeply.com/go/C80RYwhWrc
Другой вариант - использовать абсолютную позицию .container-fluid
(полную ширину) за содержимым, .container
которое действует как «призрак» ...
.abs {
position: absolute;
right:0;
top:0;
bottom:0;
z-index: 1;
}
<div class="container">
<div class="row">
<div class="col-sm-6">
<h4>Content</h4>
</div>
<div class="col-sm-6">
<!-- space over image -->
</div>
</div>
</div>
<div class="container-fluid abs">
<div class="row h-100">
<div class="col-sm-6 h-100">
<!-- empty spacer -->
</div>
<div class="col-sm-6 right">
<img src="//placehold.it/1000x400">
</div>
</div>
</div>
https://www.codeply.com/go/txUHH72f16 (Bootstrap 4)
Похожие вопросы :
Получите две колонки с разными цветами фона, которые расширяются до края экрана.
Пример с изображениями.
Расширьте элемент за контейнером начальной загрузки.