Lism Tips

Property Class の書き方

Property Class は、CSS のプロパティを短いクラス名で指定するしくみです。値の決め方・任意の値・画面幅ごとの切り替えの書き方をまとめます。

Property Class(プロパティクラス)は、-p:20 や -ta:center のように、ハイフン1つで始まる短いクラスです。1つのクラスが、1つの CSS プロパティ(色・大きさ・余白など、見た目の種類)を受け持ちます。

どんなときに使う?#

  • 余白・文字の大きさ・色などを、CSS を書かずに HTML のクラスだけで決めたいとき
  • 決まった段階の値(トークン)から選んで、サイト全体の見た目をそろえたいとき
  • 画面の幅によって値を変えたいとき(レスポンシブ)

3つの書き方#

Property Class には、次の3つの形があります。{prop} はプロパティの略した名前、{value} は値、{bp} はブレイクポイント(レイアウトを切り替える画面の幅)の名前です。

形 何をするか 例
-{prop}:{value} 用意された値を1つ選ぶ -p:20・-ta:center
-{prop} 値を --{prop} 変数で自由に渡す -h と --h:5em
-{prop}_{bp} 画面の幅が広いときの値に切り替える -p_sm と --p_sm

用意された値を選ぶ(-{prop}:{value})#

いちばんよく使う形です。コロン(:)のあとに値を書きます。

表示例

大きく、太く、真ん中に

html
<p class="-fz:xl -fw:bold -ta:center">大きく、太く、真ん中に</p>

-fz は font-size(文字の大きさ)、-fw は font-weight(文字の太さ)、-ta は text-align(文字のそろえ方)の略です。

値には2種類あります。

  • CSS の値そのまま:-d:none は display: none、-ta:center は text-align: center になります
  • トークンの名前:-fz:l は var(--fz--l)、-p:20 は var(--s20) を使います。トークンは「この大きさはこの値」と前もって決めた値の組です(デザイントークン)

好きな値を渡す(-{prop} と --{prop})#

用意された値に無いものを使いたいときは、値の無いクラス -{prop} を付け、style 属性で --{prop} 変数に値を入れます。

表示例

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

-h が「高さは --h 変数の値にする」という意味のクラスで、--h: 5em がその値です。

補足

このサイトが読み込んでいる main.css では、値の無い形のクラスがあるプロパティと無いプロパティがあります。

  • ある:p・m とその向き、g・cg・rg、w・h・max-w・max-h・min-w・min-h、sz・min-sz・max-sz、fz・lh、c・bgc
  • 無い(full.css にはある):bsz・max-bsz・min-bsz、f・ff・fw・fs・lts・ta・td・tt、bg・bgi・bgr・bgp・bgsz
  • 無い(full.css にも無い):hl・bdc・contentSize(値つきの -hl:s や -bdc:brand はある)

画面の幅で切り替える(-{prop}_{bp})#

_sm などを付けたクラスと、--{prop}_{bp} 変数を組み合わせると、画面(正しくは親の箱)が広いときだけ値が変わります。

表示例

狭いときは余白が小さく、広い表示例では余白が大きくなります。
html
<div class="-p:10 -p_sm -bd" style="--p_sm: var(--s40)">
  狭いときは余白が小さく、広い表示例では余白が大きくなります。
</div>

ブレイクポイントは sm(480px 以上)・md(800px 以上)・lg(1120px 以上)の3つです。くわしくは 画面の幅で切り替える(レスポンシブ) で説明しています。

Lism が付ける CSS#

たとえば次のような CSS が用意されています。値を直接書くクラスと、変数を読むクラスがあることが分かります。

css
.-ta\:center { text-align: center }
.-fz\:l { font-size: var(--fz--l) }
.-p\:20 { --p: var(--s20) }

.-d { display: var(--d) }
.-p, [class*="-p:"] { padding: var(--p) }

@container (min-width: 480px) {
  .-d_sm { display: var(--d_sm) }
  .-p_sm { padding: var(--p); --p: var(--p_sm) !important }
}

CSS ではコロンに \ を付けて .-ta\:center と書きますが、HTML では class="-ta:center" とそのまま書きます。

いつも変数を通すプロパティ(alwaysVar)#

上の CSS をよく見ると、-d_sm は display を直接上書きしますが、-p_sm は --p 変数を書きかえています。プロパティによって、この2つの作りがあります。

作り 中身 当てはまるもの
ふつう 幅ごとに、値を直接上書きする ほとんどのプロパティ
alwaysVar いつも --{prop} 変数を通して値を決める c・bgc・lh・p・m・bdrs

alwaysVar の6つは、いまの値がいつも --p や --c で読めます。そのため、ほかの CSS からその値を使えます。たとえば Set Class の set--bdrsInner は、--bdrs と --p を読んで内側の角丸を計算します。

補足

どのプロパティを alwaysVar にするかは、Lism の設定ファイル props.ts の alwaysVar: 1 で決まっています。

名前の略し方#

{prop} の部分は、Emmet(HTML や CSS を短く書くための道具)の略し方をもとにしています。くわしくは 名前のルール(省略のしかた) にあります。ここでは、表を読むときに迷いやすい点だけを挙げます。

  • よく使う1文字の略:p(padding)・m(margin)・g(gap)・c(color)・w(width)・h(height)・d(display)・o(opacity)など
  • グループの略+残りの略:fz(font-size)・bgc(background-color)・gtc(grid-template-columns)
  • 向きはハイフンで付ける:bd-t(border-top)・ov-x(overflow-x)
  • 例外:padding と margin だけは、向きの前のハイフンを省きます(pt・px・mbs など)
  • max-・min- はハイフンを残します(max-w・min-h)

値の部分は、ふつうは CSS の値をそのまま書きます。ただし、長くて意味が分かりやすい値は短くしてあります。

CSS の値 クラスでの書き方 例
fit-content fit -w:fit
space-between between -jc:between
currentColor current -bdc:current

このサイトの表の見方#

分野ごとのページでは、Property Class を次の4つの列の表にしています。

列 意味
略した名前 クラスの {prop} の部分。React・Astro のコンポーネントに渡すときの名前も同じ
CSS プロパティ そのクラスが変える CSS
用意された値 -{prop}:{value} の形でクラスになっている値(- は無し)
BP 画面の幅で切り替えられるか。✔ は sm・md・lg に対応、- は対応していない
補足

出力するクラスの種類は、SCSS で設定を変えると増やしたり減らしたりできます(SCSS で設定する)。

分野ごとの一覧#

Property Class の全部は、分野ごとのページにまとめています。

分野 主な略した名前 ページ
文字 f・fz・fw・hl・lh・ta 文字(大きさ・太さ・行間)
色と背景 c・bgc・bg・bgi 文字の色と背景
余白 p・m・g とその向き 余白(padding・margin・gap)
幅と高さ w・h・sz・max-sz 幅と高さ
表示・位置 d・o・ov・ar・pos・z 表示・はみ出し・位置
並べ方 fx*・g*・ai・jc 並べ方(Flex・Grid・配置)
枠線・角丸・影 bd・bdrs・bxsh 枠線・角丸・影(-bd など)
マウスを乗せたとき hov マウスを乗せたとき(-hov)

React・Astro で書く場合#

コンポーネントでは、略した名前をそのまま Props(コンポーネントに渡す指定)の名前に使います。

jsx
<Text fz="xl" fw="bold" ta="center">
  大きく、太く、真ん中に
</Text>

画面の幅ごとの値は、p={['10', '40']} のように配列で渡せます(画面の幅で切り替える(レスポンシブ))。Props の全体は Lism Props(コンポーネントの指定) で説明しています。

関連するページ#

公式ドキュメント

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

ページの一覧