flexboxの基本(縦並び、横並び、中央寄せ、左寄せ、右寄せ)
xflexbox、便利です。
何もしないと、以下のように、block要素は縦に並ぶ
See the Pen JWerRv by benzenetarou@gmail.com (@benzenetarou) on CodePen.
親要素にdisplay: flex
を設定すると、子要素が横に並ぶ
See the Pen WpYZRw by benzenetarou@gmail.com (@benzenetarou) on CodePen.
flex-direction: column
を設定すると、再び縦に並ぶ
See the Pen XMyepz by benzenetarou@gmail.com (@benzenetarou) on CodePen.
flex-direction: row
にして、横に並べてから、justify-content: flex-end
を設定すると、右側に詰める。
See the Pen QpJqvE by benzenetarou@gmail.com (@benzenetarou) on CodePen.
justify-content: center
で中央寄せになる。
See the Pen qrQPPJ by benzenetarou@gmail.com (@benzenetarou) on CodePen.
flex-direction: column
でコンテンツを縦に配置してからjustify-content: center
にしても縦並びで中央寄せにはなりません。
jusitify-content: center
はあくまでも、横並びのときに横並びの要素をどう配置するかに使うみたいですね。
縦並びで、中央寄せにしたいときは、flex-direction: column
とalign-items: center
を設定します
See the Pen ryQGvJ by benzenetarou@gmail.com (@benzenetarou) on CodePen.
子要素のうち一つだけ、左寄せにしたいときは、子要素でmargin-right: auto
を設定すると、左側に飛んでいきます。
See the Pen ZemXjv by benzenetarou@gmail.com (@benzenetarou) on CodePen.
flexboxの適用範囲は、display:flex
をしていした要素の子要素までです。
なので、孫要素でもいろいろ位置を指定したかったら、子要素にもdisplay:flex
を設定する必要があります。
See the Pen zZMEXJ by benzenetarou@gmail.com (@benzenetarou) on CodePen.
いろいろ複雑な配置もできる
See the Pen YZRrmz by benzenetarou@gmail.com (@benzenetarou) on CodePen.