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);
}