レイアウト

place-self

place-self は、align-self(縦の位置)と justify-self(横の位置)をまとめて書くショートハンドです。グリッドの項目 1 つに書いて、その項目だけをマスの中で動かします。

構文

<'align-self'> <'justify-self'>?

プレビュー

1234
プリセット
見本
項目
右下の角をドラッグするとサイズを変えられます

コード

.box {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.box > :nth-child(2) {
  place-self: center;
}

コントロール

align-selfcenter
align-self
safe / unsafe (align-self)
safe / unsafe (align-self)
justify-selfcenter
justify-self
safe / unsafe (justify-self)
safe / unsafe (justify-self)
1234

解説

値の書き方

align-self の値、justify-self の値の順にスペースで区切って書きます(place-self: end center)。1 つだけ書くと、両方に同じ値が使われます。使える値はそれぞれのプロパティと同じで、safe center や last baseline のような 2 語の値も書けます。初期値は auto で、箱の place-items(align-items と justify-items)に従います。

このページのプレビューは、補助の宣言で display: grid と grid-template-columns: 1fr 1fr にして、2 列のマスに 4 つの項目を入れ、2 番目の項目だけに place-self を書いています(.box > :nth-child(2) は「箱の 2 番目の子」を選ぶセレクタです)。ほかの項目はマスいっぱいに広がったままで、縁取りした 2 の項目だけがマスの中で縦にも横にも動きます。

place-items との関係

箱に place-items を書くと、中の項目すべての位置がまとめて決まります。1 つの項目だけ違う位置にしたいときに、その項目に place-self を書きます。

フレックスボックスでは

フレックスボックスでは justify-self が無視されるので、効くのは 1 つ目の値(align-self)だけです。

コメント