FlexboxとAuto marginを組み合わせる

f:id:ryotah:20170721204657p:plain

こんな感じでコンテンツを左右(上下)に配置する時に便利。


以下のような問題(仕様)があるので、Flexboxを入れ子にした場合かつ、上下揃えをした場合は注意が必要。
css - Chrome / Safari not filling 100% height of flex parent - Stack Overflow

f:id:ryotah:20170721210737p:plain

  • キャプチャの左がChrome、右はSafari
  • 一番左のパターンは「Flexboxで伸びている高さ = height: 100%」という前提のもの
    • Chromeでは動く。ただしflex-basisを0にしないとこのような結果にはならない
  • 二番目はposition: absoluteを利用
  • 三番目はheight: 100%を利用せずにflex-growを活用するパターン
    • これがよさそう