Demo Wrapping Boxes for FLYWHEEL PAGE
by Michael Mandarino
HTML
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<h1>Demo Wrapping Boxes for FLYWHEEL PAGE</h1>
<div class="row">
<div class="col">
Col 1
</div>
<div class="col">
Col 2
</div>
<div class="col">
Col 3
</div>
<div class="col">
Col 4
</div>
</div>
SCSS
/* Base Styles */
*,
*:after,
*:before {
box-sizing: border-box;
}
body {
font-family: Helvetica, Arial, Sans-Serif;
font-size: 16px;
padding: 0.5em;
}
h1 {
color: #61bb46;
font-size: 2em;
}
h2 {
font-size: 0.75em;
margin-bottom: 1em;
}
/* Main Styles */
.row {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-flow: row wrap;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
margin: 0 -1rem;
> .col {
-ms-flex: 1 1;
-webkit-flex: 1 1;
flex: 1 1 ;
background-color: #61bb46;
border: 8px solid #00afba;
color: #fff;
max-width: 500px;
min-width: 300px;
padding: 1rem;
text-align: center;
/*Use Script to create hidden boxes, so that the last box does not stretch full width*/
&.hidden {
background-color: transparent;
border: dashed 1px red;
/*height: 0;*/
}
}
}
JavaScript
$('.row').each(function() {
var count = $(this).find('.col').length;
var remainder = Math.abs((count % 3) - 3);
for (var i = 0; i < remainder; i++) {
$('<div class="col hidden"></div>').appendTo(this);
}
});