CSSを使用して、画像を正方形にトリミングしつつ、タイル型に並べる方法
ギャラリーなどでCSSを使用して、画像を正方形にトリミングしつつ、タイル型に並べる方法はこちら
HTML部分
<ul>
<li><img src="img01.jpg"></li>
<li><img src="img02.jpg"></li>
<li><img src="img03.jpg"></li>
<li><img src="img04.jpg"></li>
<li><img src="img05.jpg"></li>
<li><img src="img06.jpg"></li>
</ul>
CSS部分
ul{
display: flex;
flex-wrap: wrap;
}
li{
position: relative;
width: 32%; /*ここを変更すると行数を変えられる 25%の場合は4列、33%の場合は3列、32%にしている理由はli要素の間に余白が欲しかったため*/
}
li:before{
content: "";
display: block;
padding-top: 100%;
}
img{
position: absolute;
width: 100%;
height: 100%;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
object-fit: cover;
}
もし画像を正方形ではなく縦長にしたい場合は
ul{
display: flex;
flex-wrap: wrap;
}
li{
position: relative;
width: 32%;
}
li:before{
content: "";
display: block;
padding-top: 100%;
padding-bottom: 120%; /*追加*/
}
img{
position: absolute;
width: 100%;
height: 100%;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
object-fit: cover;
}