Responsive Grid
by Павел KLON
HTML
<div id="wrapper">
<section class="box">
<div class="box-in">
<h1>1</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>2</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>3</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>4</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>5</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>6</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>7</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>8</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>9</h1>
</div>
</section>
<section class="box">
<div class="box-in">
<h1>10</h1>
</div>
</section>
</div>
SCSS
#wrapper {
background: silver;
height: 100%;
width:100%;
padding: 10px;
box-sizing: border-box;
position: fixed;
overflow-y: auto;
}
.box {
min-width: 200px;
max-width: 400px;
width: 100%;
padding: 10px;
float: left;
box-sizing: border-box;
}
$minWidthColumn: 200px;
$twoColumnBreakpoint: $minWidthColumn * 2 + 40; // 40 - это расстояние меж блоков.
$threeColumnBreakpoint: $minWidthColumn * 3 + 40;
$fourColumnBreakpoint: $minWidthColumn * 4 + 40;
$fiveColumnBreakpoint: $minWidthColumn * 5 + 40;
@media (min-width: $twoColumnBreakpoint) {
.box {
width: percentage(1/2);
}
}
@media (min-width: $threeColumnBreakpoint) {
.box {
width: percentage(1/3);
}
}
@media (min-width: $fourColumnBreakpoint) {
.box {
width: percentage(1/4);
}
}
@media (min-width: $fiveColumnBreakpoint) {
.box {
width: percentage(1/5);
}
}
.box-in {
height: 170px;
text-align:center;
background-color: white;
padding: 15px;
border-radius: 3px;
position: relative;
box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.3);
}