flex wrap image responsive
keep image placed in center and its proportion yet being responsive.
by tea4two
HTML
<div class="box">
<div>
<p class="thumb-box">
<img src="http://via.placeholder.com/150x150/ddd/fff" alt="" class="post-thumbnail">
</p>
<p class="cap">1</p>
</div>
<div>
<p class="thumb-box">
<img src="http://via.placeholder.com/150x150/ddd/fff" alt="" class="post-thumbnail">
</p>
<p class="cap">2</p>
</div>
<div>
<p class="thumb-box">
<img src="http://via.placeholder.com/150x150/ddd/fff" alt="" class="post-thumbnail">
</p>
<p class="cap">3</p>
</div>
<div>
<p class="thumb-box">
<img src="http://via.placeholder.com/150x150/ddd/fff" alt="" class="post-thumbnail">
</p>
<p class="cap">4</p>
</div>
<div>
<p class="thumb-box">
<img src="http://via.placeholder.com/150x150/ddd/fff" alt="" class="post-thumbnail">
</p>
<p class="cap">5</p>
</div>
<div>
<p class="thumb-box">
<img src="http://via.placeholder.com/150x150/ddd/fff" alt="" class="post-thumbnail">
</p>
<p class="cap">6</p>
</div>
<div>
<p class="thumb-box">
<img src="http://via.placeholder.com/150x150/ddd/fff" alt="" class="post-thumbnail">
</p>
<p class="cap">7</p>
</div>
</div>
SCSS
* {
box-sizing: border-box;
}
.box {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
height: 100vh;
> div {
width: 30%;
height: 30%;
border: 1px solid black;
}
.thumb-box { //画像サイズの基準となる
height: 80%;
display: flex;
justify-content: center;
align-items: center;
background-color: yellow;
}
.post-thumbnail {
max-width: 100%;
max-height: 100%;
display: block;
margin: 0 auto;
}
}