LoginSignup
1
1

More than 5 years have passed since last update.

flexbox系あれこれ

Last updated at Posted at 2018-02-18

flexbox系のやつ、display:flex;くらいしか日常使いしてなかったので
この機会に...

 flexboxコンテナ

flexboxコンテナ: flex-direction

「flex-direction」プロパティは、flexコンテナの主軸の方向を設定することにより、
flexアイテムがflexコンテナでどのように配置されるか明示します。方向は2種類で、横列の水平、縦列の垂直に配置できます。

flexboxコンテナ: flex-wrap

flexboxの初期のコンセプトは、1行に複数のアイテムをコンテナにセットすることです。
そこから進化し、「flex-wrap」プロパティは、flexコンテナが複数のアイテムを一行、または複数行に配置することをコントロールします。

flexboxコンテナ: flex-flow

「flex-flow」プロパティは、「flex-direction」と「flex-wrap」を設定するショートハンドです。

flexboxコンテナ: justify-content

「justify-content」プロパティは、flexコンテナの主軸に沿ってflexアイテムを一行に配置します。

flexboxコンテナ: align-items

flexアイテムはflexコンテナのクロス軸に垂直方向で配置することができます。「align-items」プロパティは、デフォルトで全てのflexアイテムを含めます。

flexboxコンテナ: align-content

「align-content」プロパティは「justify-content」と似ていますが、「align-content」プロパティはクロス軸の垂直方向に揃えて配置します。

 flexboxアイテム

flexプロパティ

flexプロパティのショートハンドが、flex-grow、flex-shrink、flex-basisという3つのプロパティ。
flex-grow、flex-shrink、flex-basisを一括指定したい場合は『flexプロパティ』を使う。

flexboxアイテム: flex-grow

flex-growプロパティはflexアイテムの伸長係数(伸びる倍率)を設定するものです。
数字で指定します。

flexboxアイテム: flex-shrink

flex-shrinkプロパティはflexアイテムの縮短係数(縮む倍率)を設定するものです。
数字で指定します。

flexboxアイテム: flex-basis

flex-basisの基本的な使い方は、widthプロパティやheightプロパティと同じです。

各flexアイテムの幅をwidthで指定しても、別のプロパティで比率を指定している場合、widthの値が無視されます。
そういうときに幅を固定してくれるのが、このflex-basisプロパティです。
『flex-direction』が、row、row-reverseのときは『flex-basis』は横幅を指定します。
『flex-direction』でcolumnやcolumn-reverseのときは『flex-basis』は縦の長さを指定することになります。
値に指定できるのは単位を含めた数値と、初期値である『auto』です。
なお、負の値は指定できません。

flex: 1;の場合

上記の内容を踏まえて、以下の記述が省略されたもの

flex-grow: 1
flex-shrink: 1
flex-basis: 0

flexboxアイテム: align-self

「align-self」プロパティは、flexアイテムの整列を前述の「align-items」での指定より優先します。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1