flexbox/justify-content
ドキュメント:justify-content - CSS: カスケーディングスタイルシート MDN
フレックスアイテムの水平方向のレイアウト指定をするプロパティ。開始位置と均等割付けのいずれかが指定できる。
justify-content: normal
初期値。flex-direction: row-reverse
が指定された場合は右よせになる。
<div style="display: flex; justify-content: normal">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: start
左よせになる。flex-direction: column
が指定された場合は上よせになる。flex-direction: row-reverse
が指定されたとしても左よせになる。
<div style="display: flex; justify-content: start">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: end
右よせになる。flex-direction: column
が指定された場合は下よせになる。flex-direction: row
が指定されたとしても右よせになる。
<div style="display: flex; justify-content: end">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: flex-start
、justify-content: flex-end
flex-direction
プロパティの指定によって挙動が変わる。justify-content: flex-start
はjustify-content: normal
と同じ挙動になり、justify-content: flex-end
は反対の挙動になる。
TODO: 説明を読む限り、gridでは効果がなくflexboxの時にしか効かないっぽいので要確認
<div style="display: flex; justify-content: flex-end; flex-direction: row-reverse">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: center
中央揃えになる。
<div style="display: flex; justify-content: center">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: left
、justify-content: right
justify-content: left
は左よせ、justify-content: right
は右よせになる。flex-direction: column
の場合は効果がないっぽい。
<div style="display: flex; justify-content: right">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: space-between
フレックスアイテムを均等に配置する。最初のアイテムは先頭に、最後のアイテムは末尾によせられる。
<div style="display: flex; justify-content: space-between">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: space-around
フレックスアイテムを均等に配置する。先頭と末尾はアイテム間の間隔の半分の間隔がつく。
<div style="display: flex; justify-content: space-around">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: space-evenly
フレックスアイテムを均等に配置する。先頭と末尾と各アイテム間に同じように間隔がつく。
<div style="display: flex; justify-content: space-evenly">
<div style="background:#ffb7b7">a</div>
<div style="background:#b7b7ff">b</div>
</div>
justify-content: stretch
flexboxでは効果がないらしい。
justify-content: safe center
など
center
などの配置キーワードと組み合わせてsafe center
のように指定する。
コンテナからはみ出した場合に先頭位置をコンテナ内に収めて末尾だけはみ出すようにしたりするらしいが、どうやらFirefox以外では実装されていないらしい。