justify-self
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
CSS の justify-self
プロパティは、配置コンテナーの適切な軸に沿って内部でボックスの位置合わせをする方法を設定します。
試してみましょう
このプロパティの効果は、現在のレイアウトモードに依存します。
- ブロックレベルレイアウトでは、包含ブロック内のアイテムをインライン軸で配置します。
- 絶対位置指定の要素では、 top, left, bottom, right の各オフセット値を反映して、包含ブロック内のアイテムをインライン軸で配置します。
- 表のセルレイアウトでは、このプロパティは無視されます (絶対位置指定および表レイアウトのブロック内の配置についてはこちら)
- フレックスボックスレイアウトでは、このプロパティは無視されます (フレックスボックス内での配置についてはこちら)
- グリッドレイアウトでは、グリッド領域内のアイテムをインライン軸に配置します (グリッドレイアウト内での配置についてはこちら)
構文
/* 基本キーワード */
justify-self: auto;
justify-self: normal;
justify-self: stretch;
/* 位置による配置 */
justify-self: center; /* 中央付近にアイテムを集める */
justify-self: start; /* 開始側にアイテムを集める */
justify-self: end; /* 終端側にアイテムを集める */
justify-self: flex-start; /* 開始側にフレックスアイテムを集める */
justify-self: flex-end; /* 終端側にフレックスアイテムを集める */
justify-self: self-start;
justify-self: self-end;
justify-self: left; /* 左側にアイテムを集める */
justify-self: right; /* 右側にアイテムを集める */
/* ベースラインの配置 */
justify-self: baseline;
justify-self: first baseline;
justify-self: last baseline;
/* あふれたときの配置 (位置による配置時のみ) */
justify-self: safe center;
justify-self: unsafe center;
/* グローバル値 */
justify-self: inherit;
justify-self: initial;
justify-self: revert;
justify-self: unset;
このプロパティは 3 つの異なる形式のうち 1 つを取ることができます。
-
基本キーワード: キーワード値
normal
,auto
,stretch
のうちの一つ。 -
ベースラインによる配置:
baseline
キーワードに加えて、任意でfirst
またはlast
のどちらか。 -
位置による配置:
center
,start
,end
,flex-start
,flex-end
,self-start
,self-end
,left
,right
のうちの一つ。- 加えて任意で
safe
またはunsafe
。
値
auto
-
使用される値は、ボックスに親があれば、親ボックスの
justify-items
プロパティ、そうでなければ絶対位置であり、このような場合、auto
はnormal
を表します。 normal
-
このキーワードの効果は、レイアウトモードに依存します。
- ブロックレベルレイアウトでは、このキーワードは
start
の別名です。 - 絶対位置のレイアウトでは、このキーワードは置換の絶対位置ボックスには
start
のように振舞い、その他の絶対位置ボックスにはstretch
のように振舞います。 - 表のセルレイアウトでは、このキーワードは意味を持たず、無視されます。
- フレックスボックスレイアウトでは、このキーワードは意味を持たず、無視されます。
- グリッドレイアウトでは、このキーワードは
stretch
のうちの一つと似た動作をしますが、アスペクト比や固有の寸法を持つボックスはstart
のように振舞います。
- ブロックレベルレイアウトでは、このキーワードは
start
-
アイテムは適切な軸で配置コンテナーの開始側に向かって、互いに接するように詰められます。
end
-
アイテムは適切な軸で配置コンテナーの終端側に向かって、互いに接するように詰められます。
flex-start
-
フレックスコンテナーの子ではないアイテムにおいては、この値は
start
のように扱われます。 flex-end
-
フレックスコンテナーの子ではないアイテムにおいては、この値は
end
のように扱われます。 self-start
-
アイテムは適切な軸で、アイテムの開始側にある配置コンテナーの辺に向けて、互いに接するよう詰められます。
self-end
-
アイテムは適切な軸で、アイテムの終端側にある配置コンテナーの辺に向けて、互いに接するよう詰められます。
center
-
アイテムは配置コンテナーの中央で、互いに接するように詰められます。
left
-
アイテムは配置コンテナーの左端に向かって、互いに接するように詰められます。プロパティの軸がインライン軸に平行でない場合は、この値は
start
のように動作します。 right
-
アイテムは配置コンテナーの右端に向かって、互いに接するように詰められます。プロパティの軸がインライン軸に平行ではない場合は、この値は
start
のように動作します。 baseline
,first baseline
,last baseline
-
first- または last-baseline 配置への参加を指定します。ボックスの最初または最後のベースラインセットの配置ベースラインを、ベースライン共有グループ内のすべてのボックスで共有される最初または最後のベースラインセットで対応するベースラインに揃えます。
first baseline
の代替配置はstart
、last baseline
の代替配置はend
です。 stretch
-
アイテムの寸法の合計が配置コンテナーの寸法より小さい場合に、寸法が
auto
であるすべてのアイテムは (比例的にではなく) 均等に引き伸ばされます。ただし、max-height
/max-width
(あるいは同等の機能) による制限は尊重します。これにより、寸法の合計が配置コンテナーを主軸に沿って完全に埋めるようになります。 safe
-
アイテムの寸法が配置コンテナーをあふれた場合、アイテムは配置モードが
start
であったかのように配置されます。 unsafe
-
アイテムのと配置コンテナーの寸法の関係にかかわらず、指定した値を尊重します。
公式定義
初期値 | auto |
---|---|
適用対象 | block-level boxes, absolutely-positioned boxes, and grid items |
継承 | なし |
計算値 | 指定通り |
アニメーションの種類 | 離散値 |
形式文法
justify-self =
auto |
normal |
stretch |
<baseline-position> |
<overflow-position>? [ <self-position> | left | right ] |
anchor-center
<baseline-position> =
[ first | last ]? &&
baseline
<overflow-position> =
unsafe |
safe
<self-position> =
center |
start |
end |
self-start |
self-end |
flex-start |
flex-end
例
簡単なデモ
以下の例では簡単な 2 x 2 のグリッドレイアウトを用意しました。最初にグリッドコンテナーには justify-items
の値を stretch
に — 既定値に — 設定し、グリッドアイテムがセルの幅全体に広がるようにしています。
2 番目、3 番目、4 番目のグリッドアイテムは、別々な justify-self
の値を指定し、これらが justify-items
の値をオーバーライドする様子を表示します。これらの値はグリッドアイテムを内容物の幅に設定し、セルごとに異なる位置に配置しています。
HTML
<article class="container">
<span>First child</span>
<span>Second child</span>
<span>Third child</span>
<span>Fourth child</span>
</article>
CSS
html {
font-family: helvetica, arial, sans-serif;
letter-spacing: 1px;
}
article {
background-color: red;
display: grid;
grid-template-columns: 1fr 1fr;
grid-auto-rows: 40px;
grid-gap: 10px;
width: 300px;
justify-items: stretch;
}
span:nth-child(2) {
justify-self: start;
}
span:nth-child(3) {
justify-self: center;
}
span:nth-child(4) {
justify-self: end;
}
article span {
background-color: black;
color: white;
margin: 1px;
text-align: center;
}
article,
span {
padding: 10px;
border-radius: 7px;
}
article {
margin: 20px;
}
結果
仕様書
Specification |
---|
CSS Box Alignment Module Level 3 # justify-self-property |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- CSS グリッドガイド: グリッドレイアウトのボックス配置
- CSS ボックス配置
justify-items
プロパティ