CSSでフレックスアイテムを折り返す方法|flex-wrapプロパティの使い方
CSSでフレックスアイテム(flex item)を折り返して表示するには、flex-wrapプロパティを使用します。デフォルト状態では、フレックスアイテムはすべて1行に並べられますが、「flex-wrap: wrap」を指定することで、コンテナの幅からあふれたアイテムを次の行へ自動的に折り返すことができます。
以下のコードを実行して、flex-wrapプロパティの実際の動作を確認してみてください。
flex-wrapプロパティの主な値
- nowrap:初期値。アイテムを折り返さず、1行に並べて表示します。
- wrap:コンテナの幅に収まらない場合、アイテムを次の行へ折り返します。
- wrap-reverse:折り返しは行われますが、行の並び順が逆になります。
実装例
次の例では、9つのフレックスアイテムを含むコンテナに「flex-wrap: wrap」を設定しています。ブラウザのウィンドウ幅を狭くすると、1行に入りきらなくなったアイテムが自動的に次の行へ移動する様子を確認できます。
<!DOCTYPE html>
<html>
<head>
<style>
.mycontainer {
display: flex;
background-color: #D7BDE2;
flex-wrap: wrap;
}
.mycontainer > div {
background-color: white;
text-align: center;
line-height: 40px;
font-size: 25px;
width: 100px;
margin: 5px;
}
</style>
</head>
<body>
<h1>Quiz</h1>
<div class = "mycontainer">
<div>Q1</div>
<div>Q2</div>
<div>Q3</div>
<div>Q4</div>
<div>Q5</div>
<div>Q6</div>
<div>Q7</div>
<div>Q8</div>
<div>Q9</div>
</div>
</body>
</html>このようにflex-wrapプロパティを活用すれば、画面サイズに合わせて柔軟にレイアウトが調整されるレスポンシブなデザインを簡単に実現できます。
-
CSSのflex-directionでフレックスアイテムを水平方向に配置する方法
CSSでフレックスアイテムを水平方向に配置するには、flex-directionプロパティにrow値を指定します。flex-directionは、フレックスコンテナ内のアイテムが並ぶ方向(主軸の方向)を決定する重要なプロパティです。 flex-direction: row の基本 rowはflex-directionのデフォルト値で、アイテムを左から右へ横一列に並べます。なお、文書の書字方向が右から左(RTL)の場合は、逆に右から左へ並びます。 flex-directionで使える主な値 row:アイテムを水平方向(左から右)に配置 row-reverse:アイテムを水平方向(右から左)に配
-
CSSでフレックスラインをコンテナの先頭に表示する方法(align-content: flex-start)
CSSのalign-contentプロパティにflex-startという値を指定すると、フレックスコンテナ内の複数のフレックスライン(行)をコンテナの先頭側に寄せて配置できます。 align-content: flex-startの基本 align-contentプロパティは、交差軸(cross axis)方向におけるフレックスライン全体の配置を制御するプロパティです。flex-startを指定すると、すべてのフレックスラインが交差軸の開始位置、つまりコンテナの先頭にまとめられて表示されます。 注意点として、align-contentが機能するのはflex-wrap: wrap;などで折り