こんにちは、初心者向けCSS講座 第37回目の講座です 。 前回は子要素の並む向きを変更する「flex-directionプロパティ」についてご紹介しました。 今回は子要素を折り返す「flex-wrap」プロパティをご紹介します。
目次
子要素を折り返す
flex-wrapプロパティ
子要素の折り返しをするには「flex-wrap」プロパティを使用します。 折り返しを使う場面は、Webページ内で表示するコンテンツが多く一列に並びきれない場合(ECサイト商品写真、ブログ記事など)に多く衣装されます。 親要素に幅を指定し、子要素の幅が親要素より大きくなった場合に折り返しをします。


flex-wrapプロパティを使ってみる
それでは実際にflex-wrapを使って要素の折り返しをしてみましょう。 上から下(wrap)、下から上(wrap-reverse)を指定していきたいと思います。 HTMLのサンプルコードは以下の通りです。
<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>レイアウトを組もう</title>
<meta name="description" content="子要素の折り返しflex-wrapプロパティ">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="wrap">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
<div class="item">Item 5</div>
<div class="item">Item 6</div>
<div class="item">Item 7</div>
</div>
<div class="wrap-reverse">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
<div class="item">Item 5</div>
<div class="item">Item 6</div>
<div class="item">Item 7</div>
</div>
</body>
</html>
次に要素の折り返しを指定するCSSを記述していきます。 親要素のdivにwidthで500pxの幅を指定しています。
@charset "UTF-8";
/*折り返し上から下へ並べる*/
.wrap {
display: flex;
flex-wrap: wrap;
width: 500px;
}
/*折り返し下から上へ並べる*/
.wrap-reverse {
display: flex;
flex-wrap: wrap-reverse;
width: 500px;
}
/*子要素に背景色と文字色余白をつけています*/
.item {
background: #C1D9F2;
color: #5B4949;
margin: 10px;
padding: 10px;
}
/*余白をつけて見やすくしています*/
div {
margin-bottom:30px;
}
ブラウザで表示すると画像の通りです。 親要素の500pxを超えると折り返しの表示されたことが確認できます。

実行結果
ブラウザでの実行結果はこちらで確認できます。
次回
今回は子要素を折り返す「flex-wrap」プロパティのご紹介をしました。 次回は要素を水平方向へ揃える「justify-content」プロパティをご紹介します! それでは、また次回もよろしくお願いします。
