並べ方(Flex・Grid・配置)
Flexbox(-fxd・-fxw など)、Grid(-gtc・-gc など)、そろえ方(-ai・-jc など)と並び順(-order)のクラスを一覧にしています。
中の要素を横や縦に並べる Flexbox と Grid、そして要素をどこにそろえるかを決める Property Class(- で始まる、CSS の1つの性質を決めるクラス)をまとめたページです。すきま(-g・-cg・-rg)は 余白(padding・margin・gap) にあります。
Flexbox と Grid のきほん#
どちらも、親の箱に付けて、中の子どもたちの並べ方を決める CSS のしくみです。
- Flexbox(
display: flex):子を1列に並べます。横に並べるか縦に並べるか、入りきらないとき折り返すか、を決めます。並ぶ向きを「主軸」、それと直角の向きを「交差軸」と呼びます - Grid(
display: grid):箱を表のようなマス目に分け、子をマスに置きます。列と行の数や幅を決められます
Lism では、l--flex(Flexbox で並べる) や l--grid(Grid で並べる) を親に付け、このページのクラスで細かく調整するのが基本です。表の「ブレイクポイント」の列に「対応」とあるものは、画面の幅で値を切り替えられます(画面の幅で切り替える(レスポンシブ))。
Flex のクラス#
| Shorthand | 対応する CSS | 用意されているクラスの値 | ブレイクポイント |
|---|---|---|---|
fxf |
flex-flow(向きと折り返しをまとめて) |
なし | なし |
fxw |
flex-wrap(折り返し) |
wrap |
対応 |
fxd |
flex-direction(並ぶ向き) |
column・column-reverse・row-reverse |
対応 |
fx |
flex(伸び縮みをまとめて) |
1 |
対応 |
fxsh |
flex-shrink(縮むか) |
0 |
なし |
fxg |
flex-grow(余った幅に伸びるか) |
1 |
なし |
fxb |
flex-basis(元の大きさ) |
なし | 対応 |
「なし」の Shorthand は、決まった値のクラスがありません。-fxb のように値の無いクラスがあるものは、style="--fxb: 10em" のように変数で値を入れます。
-fxd:column で縦に並び、-fxd:row-reverse で横に逆順で並びます。-fxw:wrap を付けると、入りきらない子が次の行へ折り返します。
表示例
<div class="l--flex -g:10">
<div class="-fxg:1 -bd -p:10 -bgc:base-2">伸びる</div>
<div class="-bd -p:10 -bgc:base-2">そのまま</div>
<div class="-fxg:1 -bd -p:10 -bgc:base-2">伸びる</div>
</div>
-fxg:1 を付けた子だけが、余った幅を分け合って広がります。
Grid のクラス#
| Shorthand | 対応する CSS | 用意されているクラスの値 | ブレイクポイント |
|---|---|---|---|
gt |
grid-template |
なし | 対応 |
gta |
grid-template-areas(マスの名前の配置) |
なし | 対応 |
gtc |
grid-template-columns(列の数と幅) |
subgrid |
対応 |
gtr |
grid-template-rows(行の数と高さ) |
subgrid |
対応 |
gaf |
grid-auto-flow(自動で置く向き) |
column・row |
対応 |
gar |
grid-auto-rows |
なし | なし |
gac |
grid-auto-columns |
なし | なし |
ga |
grid-area(子が入るマス) |
1/1 |
対応 |
gc |
grid-column(子が使う列) |
1/-1 |
対応 |
gr |
grid-row(子が使う行) |
1/-1 |
対応 |
gcs |
grid-column-start |
なし | なし |
grs |
grid-row-start |
なし | なし |
gce |
grid-column-end |
なし | なし |
gre |
grid-row-end |
なし | なし |
-gc:1/-1 は「最初の列から最後の列まで」なので、その子が1行を横いっぱいに使います。-ga:1/1 は、子を全部同じマスに置いて重ねるときに使えます。subgrid は、親の Grid の列や行の線を、子の Grid でもそのまま使う指定です。
表示例
<div class="l--grid -g:10 -gtc" style="--gtc: repeat(2, 1fr)">
<div class="-gc:1/-1 -bd -p:10 -bgc:base-2">A(横いっぱい)</div>
<div class="-bd -p:10 -bgc:base-2">B</div>
<div class="-bd -p:10 -bgc:base-2">C</div>
</div>
-gtc に値を入れるには、style="--gtc: repeat(2, 1fr)" のように変数を使います。repeat(2, 1fr) は「同じ幅の列を2つ」という意味です。
そろえ方と並び順(Places)#
align- で始まるものは交差軸(Flexbox を横に並べたときは縦)、justify- で始まるものは主軸(横に並べたときは横)のそろえ方です。place- は両方をまとめて決めます。Grid では、align- が縦、justify- が横です。
| Shorthand | 対応する CSS | 用意されているクラスの値 | ブレイクポイント |
|---|---|---|---|
ai |
align-items |
center・start・end・flex-start・flex-end・stretch |
対応 |
ac |
align-content |
center・start・end・flex-start・flex-end・between |
対応 |
ji |
justify-items |
center・start・end・flex-start・flex-end・stretch |
対応 |
jc |
justify-content |
center・start・end・flex-start・flex-end・between |
対応 |
pi |
place-items |
center・start・end |
なし |
pc |
place-content |
center・start・end |
なし |
aslf |
align-self(その子だけ) |
center・start・end・stretch |
なし |
jslf |
justify-self(その子だけ) |
center・start・end・stretch |
なし |
pslf |
place-self(その子だけ) |
center・start・end |
なし |
order |
order(並ぶ順番) |
-1・0・1 |
対応 |
-items と -content の違いは、-items が「マスや行の中で、子をどこに置くか」、-content が「子のかたまり全体を、親の中でどこに置くか」です。between は、両端の子を端に付け、残りを均等に空けます(space-between)。
表示例
<div class="l--flex -jc:between -bd -p:10">
<div class="-bd -p:10 -bgc:base-2">左</div>
<div class="-bd -p:10 -bgc:base-2">右</div>
</div>
-order:-1 を付けた子は、HTML の順番に関係なく先頭に来ます。
表示例
<div class="l--flex -g:10">
<div class="-bd -p:10 -bgc:base-2">1つめ</div>
<div class="-bd -p:10 -bgc:base-2">2つめ</div>
<div class="-order:-1 -bd -p:10 -bgc:base-2">3つめ(先頭へ)</div>
</div>
React・Astro で書く場合#
コンポーネントでは、クラスの - を取った名前を Props として渡します。
<Flex g="20" jc="between">
<Lism fxg="1">Item</Lism>
</Flex>
<Grid g="20" gtc="repeat(2, 1fr)">
<Lism gc="1/-1">Item A</Lism>
</Grid>
関連するページ#
- l--flex(Flexbox で並べる)
- l--grid(Grid で並べる)
- 余白(padding・margin・gap):すきまの
-g・-cg・-rg - 表示・はみ出し・位置:
-d:flex・-d:grid
公式ドキュメント
2026年10月5日時点の内容(lism-css 1.0.1・@lism-css/ui 0.40.1)をもとに、やさしい日本語でまとめています。