最近便利なCSSおれおれAdvent Calendar 2023 – 19 日目
ブロック要素を中央に寄せるときって margin
を auto
しますよね。margin: 0 auto
だと上下に 0
を指定するのがなんか嫌だなという感じが自分はあるので、margin-left
と margin-right
を併用して使っていました。欠点は書く量がちょっと多いことです。まあエディターでコピペすれば済むんだけど。
margin-inline
を使うとまとめて指定できます。
例
.block { margin-inline: auto; width: 100px; }
関連プロパティ
想像つくかもですが、左右の “inline” に対応して上下の margin-block
というのもあります。動作も想像通り。
また margin
を margin-top
等で上下左右へ分解できるのと同様、inline と block も margin-inline-start
と margin-inline-end
みたいに分解できます。
さらに margin
と対になってる感じのある padding
も同様に padding-inline
と padding-block
があります。加えて border
も同様です。
まとめるとこんな感じ。(網羅ではなく抜粋)
margin-inline
margin-inline-start
margin-inline-end
margin-block
padding-inline
border-inline
inline/block と start/end
字の並びに相対的な表現なのでこれも想像つきそうですが、文が縦書きや右から左へ書くモードの場合はそれに合わせた方向になります。
というわけで縦書きの例です。”block” で “end” なのは左側ですね。
h1 { border-block-end: 4px solid tomato; writing-mode: vertical-rl; }
おしまい
左右中央寄せで普通に使ってます。地味に助かる。いやほんと少しだけなんだけど。