要素をフレックスコンテナに変換し、子要素(フレックスアイテム)を柔軟にレイアウトできるプロパティです。1次元レイアウト(行または列)の配置に最適で、モダンWebデザインの基礎となります。
display: flex
.container {
display: flex;
justify-content: center;
align-items: center;
}
子要素を水平・垂直中央に配置する最も簡単な方法
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
}
ナビゲーションバー:左端と右端に要素を配置
.card-container {
display: flex;
flex-wrap: wrap;
gap: 1rem;
}
レスポンシブなカードレイアウト:幅が足りない場合は折り返し
.sidebar-layout {
display: flex;
}
.sidebar {
flex: 0 0 250px;
}
.main {
flex: 1;
}
サイドバーレイアウト:固定幅サイドバーと可変メインコンテンツ
中央配置、等間隔配置、レスポンシブレイアウトが簡単に実現できる。子要素にflex: 1を指定すると等幅になる。gap プロパティで間隔調整が便利。
親要素にdisplay: flexを指定し忘れると子要素のflexプロパティが効かない。flex-direction を理解せずに使うと意図しない配置になる。
IE11+(一部制限あり), 全モダンブラウザ