Lism Tips

幅と高さ

幅と高さを決める Property Class(-w・-h・-max-w・-sz・-max-sz・-contentSize など)の一覧です。用意された値と、画面の幅での切り替えに対応するかをまとめます。

要素の幅と高さを決めるクラスの一覧です。-w:100% や -max-sz:s のように、よく使う値はクラスになっています。それ以外の値は、変数で渡します。

どんなときに使う?#

  • 箱を親の幅いっぱいにしたいとき(-w:100%)
  • 箱を中身の大きさにぴったり合わせたいとき(-w:fit)
  • 文章の幅が広がりすぎないように、上限を決めたいとき(-max-sz:s など)

幅と高さの2つの言い方#

CSS には、幅と高さの言い方が2通りあります。

言い方 幅 高さ 特徴
物理的な向き width height いつも横が幅、縦が高さ
文字の向きに合わせる inline-size block-size 文字が並ぶ向きが「幅」になる

横書きのページでは、inline-size は width と同じ向きです。縦書きにすると、inline-size は縦の長さになります。Lism では、前者を w・h、後者を sz・bsz(size・block-size の略)と書きます。

一覧#

略した名前 CSS プロパティ 用意された値 BP
w width 100%・fit ✔
h height 100%・fit ✔
max-w max-width 100% ✔
max-h max-height 100% ✔
min-w min-width 100% ✔
min-h min-height 100% ✔
sz inline-size - ✔
max-sz max-inline-size xs・s・m・l・xl・bleed・full ✔
min-sz min-inline-size - ✔
bsz block-size - -
max-bsz max-block-size - -
min-bsz min-block-size - -
contentSize --contentSize 変数だけ s・m・l・xl -
  • fit は fit-content(中身に合わせた大きさ)の略です
  • 用意された値が - のもののうち、sz・min-sz は値の無いクラスと変数(-sz と --sz など)で使います
  • bsz・max-bsz・min-bsz は、main.css に値の無いクラスがありません(full.css にはあります)。main.css では React・Astro の Props で渡します

幅を決める#

-w:fit は中身の幅に、-w:100% は親の幅いっぱいになります。

表示例

-w:fit
-w:100%
html
<div class="l--stack -g:10">
  <div class="-w:fit -p:10 -bgc:base-2">-w:fit</div>
  <div class="-w:100% -p:10 -bgc:base-2">-w:100%</div>
</div>

表に無い値は、値の無いクラスに変数で渡します。

表示例

高さ 5em
html
<div class="-w:fit -h -p:10 -bgc:base-2 -bd" style="--h: 5em">高さ 5em</div>

最大幅を決める(-max-sz)#

-max-sz は、幅の上限をサイズのトークン(前もって決めた幅の段階)から選ぶクラスです。

クラス 変数 値
-max-sz:xs --sz--xs 400px
-max-sz:s --sz--s 640px
-max-sz:m --sz--m 880px
-max-sz:l --sz--l 1200px
-max-sz:xl --sz--xl 1600px

表示例

幅は 12em まで。これより長い文章は折り返します。
html
<div class="-max-sz -p:10 -bd" style="--max-sz: 12em">幅は 12em まで。これより長い文章は折り返します。</div>

-max-sz:full と -max-sz:bleed は、親や外側の箱の幅まで広げる特別な値です。くわしくは 最大幅(-max-sz) で説明しています。

補足

full と bleed は、画面の幅で切り替えることができません(-max-sz_sm に渡しても効きません)。 また、full・bleed を付けた要素に幅ごとの値を重ねると、margin-inline が残ったまま幅だけ変わり、レイアウトがくずれます。くわしくは 最大幅(-max-sz) にあります。

中身の幅を決める(-contentSize)#

-contentSize は、CSS のプロパティではなく --contentSize 変数だけをセットするクラスです。-contentSize:s なら --contentSize: var(--sz--s) になります。

この変数は、is--wrapper(中身の幅をそろえる) などが「中身をどの幅にそろえるか」を決めるときに使います。

html
<div class="is--container is--wrapper -contentSize:s -p:20">
  <p>中身の幅が --sz--s にそろいます。</p>
</div>

画面の幅で切り替える#

w・h・max-w・max-h・min-w・min-h・sz・max-sz・min-sz は、_sm・_md・_lg で切り替えられます。

表示例

スマートフォンでは幅いっぱい、広い画面では半分
html
<div class="-w:100% -w_sm -p:10 -bgc:base-2" style="--w_sm: 50%">
  スマートフォンでは幅いっぱい、広い画面では半分
</div>

React・Astro で書く場合#

jsx
<Lism w="fit" h="5em" bgc="base-2" p="10" bd>
  Example text
</Lism>

h="5em" のように、用意された値に無いものも、そのまま Props に書けます。

関連するページ#

公式ドキュメント

2026年10月5日時点の内容(lism-css 1.0.1・@lism-css/ui 0.40.1)をもとに、やさしい日本語でまとめています。

ページの一覧