Bootstrap Break Out
by andyjh07
HTML
<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="container">
<div class="row">
<div class="col-md-12">
Full Width
</div>
</div>
<div class="row break-out">
<div class="col-md-12">
<div class="container">
<div class="row">
<div class="col-md-6">Break Out Half Width</div>
<div class="col-md-6">Break Out Half Width</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
Left
</div>
<div class="col-md-6">
Right
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-9">
<div class="row break-out">
<div class="col-md-12">
Full Width Child
</div>
</div>
</div>
<div class="col-md-3">
Sidebar
</div>
</div>
SCSS
div[class^="col"] {
border: red solid 2px;
}
.break-out {
background-color: lightgreen;
}
.break-out {
width: 100vw;
position: relative;
left: calc(-1 * (100vw - 100%) / 2 + 15px);
div[class^="col"] & {
left: initial;
width: calc(100% + 30px);
}
}