@lism-css/mcp 0.17.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/docs-index.json +51 -15
- package/dist/data/guides/SKILL.md +3 -3
- package/dist/data/guides/antipatterns.md +22 -5
- package/dist/data/guides/base-styles.md +1 -1
- package/dist/data/guides/css-rules.md +22 -0
- package/dist/data/guides/naming.md +6 -3
- package/dist/data/guides/primitive-class.md +1 -1
- package/dist/data/guides/primitives/a--decorator.md +4 -4
- package/dist/data/guides/primitives/a--spacer.md +2 -2
- package/dist/data/guides/primitives/l--flex.md +2 -2
- package/dist/data/guides/primitives/l--flow.md +4 -2
- package/dist/data/guides/property-class/bd.md +9 -9
- package/dist/data/guides/property-class/hov.md +5 -2
- package/dist/data/guides/property-class.md +88 -90
- package/dist/data/guides/{prop-responsive.md → responsive.md} +40 -4
- package/dist/data/guides/set-class.md +21 -2
- package/dist/data/guides/tokens.md +67 -22
- package/dist/data/guides/trait-class/is--boxLink.md +8 -8
- package/dist/data/meta.js +2 -2
- package/dist/tools/get-guide.js +1 -1
- package/dist/tools/get-overview.js +3 -3
- package/package.json +1 -1
|
@@ -73,11 +73,11 @@
|
|
|
73
73
|
{
|
|
74
74
|
"sourcePath": "tokens.mdx",
|
|
75
75
|
"title": "デザイントークン",
|
|
76
|
-
"description": "Lism CSS
|
|
76
|
+
"description": "Lism CSS で定義されているカラー、余白、シャドウなどのデザイントークン一覧を紹介します。",
|
|
77
77
|
"category": "guide",
|
|
78
78
|
"headings": ["COLOR", "Typography", "SPACE", "RADIUS", "SHADOW", "OPACITY", "SIZE"],
|
|
79
79
|
"keywords": ["token", "トークン", "design token", "shadow", "radius", "opacity", "size", "color", "spacing", "typography"],
|
|
80
|
-
"snippet": "デザイントークンの一覧ページ。COLOR, Typography, SPACE, RADIUS, SHADOW, OPACITY, SIZE
|
|
80
|
+
"snippet": "デザイントークンの一覧ページ。COLOR, Typography, SPACE, RADIUS, SHADOW, OPACITY, SIZE トークンを掲載。SPACEは --s5〜--s80(s25/s35 を含む12段階)、SHADOWは --bxsh--10〜--bxsh--50(5段階)、OPACITYは音楽強弱記号に由来するセマンティック命名(mp/p/pp/ppp)を採用。カラー・タイポグラフィ・余白は個別ページでも詳細を解説。"
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
83
|
"sourcePath": "tokens/colors.mdx",
|
|
@@ -108,12 +108,12 @@
|
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"sourcePath": "tokens/spacing.mdx",
|
|
111
|
-
"title": "
|
|
112
|
-
"description": "Lism CSS
|
|
111
|
+
"title": "余白トークン",
|
|
112
|
+
"description": "Lism CSS のフィボナッチ数列に基づく余白トークンと、対応するpropertyクラスについて解説します。",
|
|
113
113
|
"category": "guide",
|
|
114
114
|
"headings": ["SPACE: 余白のスケーリング", "対応する Property Class"],
|
|
115
|
-
"keywords": ["spacing", "余白", "スペーシング", "フィボナッチ", "padding", "margin", "gap", "property class"],
|
|
116
|
-
"snippet": "
|
|
115
|
+
"keywords": ["spacing", "余白", "スペーシング", "フィボナッチ", "padding", "margin", "gap", "property class", "set--var:s"],
|
|
116
|
+
"snippet": "フィボナッチ数列ベースの余白スケーリング(--s5〜--s80、s25/s35 を含む12段階)を定義。--s-unit(≒8px)を基準単位として算出。set--var:s クラスを使うと --s-unit が 0.5em に切り替わり、余白がフォントサイズ基準で再計算される。p, px, py, m, mx, my, mbs, g 等のpropertyクラスでフルサポート(トークン値 5〜80)。"
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
"sourcePath": "property-class.mdx",
|
|
@@ -194,18 +194,36 @@
|
|
|
194
194
|
"float",
|
|
195
195
|
"clear",
|
|
196
196
|
"whs",
|
|
197
|
-
"white-space"
|
|
197
|
+
"white-space",
|
|
198
|
+
"ps",
|
|
199
|
+
"pe",
|
|
200
|
+
"pbs",
|
|
201
|
+
"pbe",
|
|
202
|
+
"ms",
|
|
203
|
+
"me",
|
|
204
|
+
"mbe",
|
|
205
|
+
"padding-inline-start",
|
|
206
|
+
"padding-inline-end",
|
|
207
|
+
"padding-block-start",
|
|
208
|
+
"padding-block-end",
|
|
209
|
+
"margin-inline-start",
|
|
210
|
+
"margin-inline-end",
|
|
211
|
+
"margin-block-end",
|
|
212
|
+
"i-s",
|
|
213
|
+
"i-e",
|
|
214
|
+
"i-bs",
|
|
215
|
+
"i-be"
|
|
198
216
|
],
|
|
199
217
|
"snippet": "単一のCSSプロパティに対応するユーティリティクラス。-{prop}:{value} の形式(例: -g:5, -p:20, -fz:l)。HTMLでは class=\"-g:5\" のように使用。レスポンシブ対応の -_{bp} 形式もサポート。"
|
|
200
218
|
},
|
|
201
219
|
{
|
|
202
220
|
"sourcePath": "responsive.mdx",
|
|
203
|
-
"title": "
|
|
221
|
+
"title": "Responsive",
|
|
204
222
|
"description": "Lism CSS におけるブレイクポイントとレスポンシブ対応の仕組みについて解説します。",
|
|
205
223
|
"category": "guide",
|
|
206
224
|
"headings": ["レスポンシブ対応", "コンテナクエリ・メディアクエリ", "ブレイクポイント"],
|
|
207
|
-
"keywords": ["responsive", "レスポンシブ", "ブレークポイント", "breakpoint", "コンテナクエリ", "container query", "sm", "md"],
|
|
208
|
-
"snippet": "CSS変数とクラスを組み合わせたレスポンシブ対応。コンテナクエリをデフォルトで採用。p={[20, 30, 40]} のような配列記法で sm
|
|
225
|
+
"keywords": ["responsive", "レスポンシブ", "ブレークポイント", "breakpoint", "コンテナクエリ", "container query", "sm", "md", "lg"],
|
|
226
|
+
"snippet": "CSS変数とクラスを組み合わせたレスポンシブ対応。コンテナクエリをデフォルトで採用。p={[20, 30, 40]} のような配列記法で sm/md ブレークポイントの値を指定。ブレークポイントは sm(480px) / md(800px) / lg(1120px) の3段階。d・g・cols・グリッド系(gtc/gta/gtr/ga/gc/gr)は lg までサポート。"
|
|
209
227
|
},
|
|
210
228
|
{
|
|
211
229
|
"sourcePath": "reset-css.mdx",
|
|
@@ -240,8 +258,8 @@
|
|
|
240
258
|
"description": "ベーススタイルの上書きやトークン再定義に使用する set-- 形式のユーティリティクラスについて解説します。",
|
|
241
259
|
"category": "guide",
|
|
242
260
|
"headings": [],
|
|
243
|
-
"keywords": ["set", "set class", "set--plain", "set--revert", "set--var:bxsh", "set--var:hov", "set--var:bdrsInner"],
|
|
244
|
-
"snippet": "HTML 要素の基礎スタイリングや変数セットを行うためのクラス (.set--{style})。set--plain / set--revert(基礎スタイリング)と set--var:bxsh / set--var:hov / set--var:bdrsInner(変数のセット)の 2 カテゴリで解説。"
|
|
261
|
+
"keywords": ["set", "set class", "set--plain", "set--revert", "set--var:bxsh", "set--var:hov", "set--var:bdrsInner", "set--var:s"],
|
|
262
|
+
"snippet": "HTML 要素の基礎スタイリングや変数セットを行うためのクラス (.set--{style})。set--plain / set--revert(基礎スタイリング)と set--var:bxsh / set--var:hov / set--var:bdrsInner / set--var:s(変数のセット)の 2 カテゴリで解説。"
|
|
245
263
|
},
|
|
246
264
|
{
|
|
247
265
|
"sourcePath": "primitives.mdx",
|
|
@@ -268,7 +286,7 @@
|
|
|
268
286
|
{
|
|
269
287
|
"sourcePath": "base-styles.mdx",
|
|
270
288
|
"title": "Base Styles",
|
|
271
|
-
"description": "
|
|
289
|
+
"description": "lism-base レイヤーで定義される Reset CSS やHTML要素のベーススタイルについて解説します。",
|
|
272
290
|
"category": "guide",
|
|
273
291
|
"headings": ["Reset CSS", "Base styles", "HTML基本スタイルのプレビュー"],
|
|
274
292
|
"keywords": ["html", "base", "ベース", "スタイル", "要素", "reset"],
|
|
@@ -280,11 +298,20 @@
|
|
|
280
298
|
"description": "Lism CSS の各バージョンにおける変更履歴をまとめています。",
|
|
281
299
|
"category": "guide",
|
|
282
300
|
"headings": [
|
|
301
|
+
"lism-css v.0.20.0 (2026.05.20)",
|
|
302
|
+
"方向系 Property Class の命名整理 (#378)",
|
|
303
|
+
"ブレークポイント対応プロパティの整理 (#394)",
|
|
304
|
+
"hover 色のデフォルト変更 (#381)",
|
|
305
|
+
"`@lism-css/ui` v.0.20.0 (2026.05.20)",
|
|
306
|
+
"lism-css v.0.18.0 (2026.05.17)",
|
|
307
|
+
"`--sz--*` トークンを px 統一・80px 刻みで再設計 (#364)",
|
|
308
|
+
"spacing tokens 拡充と `set--var:s` の新設 (#377)",
|
|
283
309
|
"lism-css v.0.17.0 (2026.05.09)",
|
|
284
310
|
"-max-sz:bleed の新設 (#360)",
|
|
285
311
|
"--REM 廃止と --fz--base の簡素化",
|
|
286
312
|
"a タグのリンク装飾スタイル廃止",
|
|
287
313
|
"Bug Fixes",
|
|
314
|
+
"`@lism-css/ui` v.0.17.0 (2026.05.09)",
|
|
288
315
|
"lism-css v.0.16.1 (2026.04.29)",
|
|
289
316
|
"lism-css v.0.16.0 (2026.04.21)",
|
|
290
317
|
"`u--trimChildren` のリネームと除外方式の整理 (#324, #326)",
|
|
@@ -319,7 +346,7 @@
|
|
|
319
346
|
"v.0.8 (大幅な変更)"
|
|
320
347
|
],
|
|
321
348
|
"keywords": ["changelog", "変更履歴", "更新", "バージョン"],
|
|
322
|
-
"snippet": "Lism CSS の各バージョンにおける変更内容を記載。v.0.17.0
|
|
349
|
+
"snippet": "Lism CSS の各バージョンにおける変更内容を記載。v.0.20.0 の破壊的変更として方向系 Property Class の命名整理(px-s/px-e → ps/pe、bd-x-s → bd-s 等、#378)、bp デフォルトサポート見直し(pl/pr/pt/pb 等廃止、d/g/cols/グリッド系は lg まで拡張、#394)、-hov:-bgc のデフォルト色変更と --neutral トークン追加(#381)など。v.0.18.0 では --sz--* トークンの px 統一・80px 刻みでの再設計(#364)、spacing tokens 拡充と set--var:s 新設(s25/s35 追加、#377)。v.0.17.0 では -max-sz:container 廃止と -max-sz:bleed 新設(#360)、--REM 廃止と --fz--base の 1rem 統一、a タグのリンク装飾スタイル廃止など。v.0.16.0 では Layout Primitive 命名整理(l--sideMain → l--withSide, l--fluidCols → l--autoColumns, l--switchCols → l--switchColumns)などがある。"
|
|
323
350
|
},
|
|
324
351
|
{
|
|
325
352
|
"sourcePath": "property-class/bd.mdx",
|
|
@@ -583,7 +610,7 @@
|
|
|
583
610
|
"category": "primitives",
|
|
584
611
|
"headings": ["CSS", "Lismコンポーネント", "Usage", "`l--flow` を入れ子にする時の注意点"],
|
|
585
612
|
"keywords": ["Flow", "フロー", "コンテンツ", "記事", "l--flow", "本文", "is--skipFlow", "display: flow-root", "article body", "縦方向余白"],
|
|
586
|
-
"snippet": "コンテンツフロー用のレイアウト。子要素間の余白を margin
|
|
613
|
+
"snippet": "コンテンツフロー用のレイアウト。子要素間の余白を margin(--flow と margin-block-start)で管理。見出しタグは余白が大きくなる。-flow:s で余白を小さく、任意値の指定も可能。is--skipFlow で次の兄弟要素との余白を打ち消しも可能。"
|
|
587
614
|
},
|
|
588
615
|
{
|
|
589
616
|
"sourcePath": "primitives/l--autoColumns.mdx",
|
|
@@ -1090,6 +1117,15 @@
|
|
|
1090
1117
|
"keywords": ["set--var:bdrsInner", "角丸", "内側角丸", "border-radius", "自動計算", "--bdrs--inner"],
|
|
1091
1118
|
"snippet": "親要素の --bdrs と --p から内側の角丸 --bdrs--inner を自動計算。子要素で -bdrs:inner を使って適用。レスポンシブ対応。"
|
|
1092
1119
|
},
|
|
1120
|
+
{
|
|
1121
|
+
"sourcePath": "set-class.mdx",
|
|
1122
|
+
"title": "set--var:s",
|
|
1123
|
+
"description": "余白トークン(--s5〜--s80)を現在のフォントサイズ基準で再計算するSetクラス。",
|
|
1124
|
+
"category": "guide",
|
|
1125
|
+
"headings": ["set--var:s"],
|
|
1126
|
+
"keywords": ["set--var:s", "余白", "フォントサイズ", "--s-unit", "spacing", "スペーシング", "em", "ボタン", "バッジ"],
|
|
1127
|
+
"snippet": "set--var:s クラスを使うと --s-unit が 0.5em に切り替わり、--s10〜--s80 がフォントサイズ基準で再計算される。Button や Badge など、内部余白を要素自身の font-size に追従させたい部品で活用。"
|
|
1128
|
+
},
|
|
1093
1129
|
{
|
|
1094
1130
|
"sourcePath": "trait-class.mdx",
|
|
1095
1131
|
"title": "has--gutter",
|
|
@@ -9,7 +9,7 @@ description: "Lism CSS の設計・実装に関するガイド。CSSの編集・
|
|
|
9
9
|
|
|
10
10
|
調和と統一感を生み出すデザイントークン設計、`@layer`で管理されるプリミティブ設計、CSS変数を活かした柔軟でレスポンシブなユーティリティ設計が特徴です。
|
|
11
11
|
|
|
12
|
-
> **バージョン情報:** このガイドは `lism-css@0.
|
|
12
|
+
> **バージョン情報:** このガイドは `lism-css@0.20.0` / `@lism-css/ui@0.20.0` 時点の情報に基づいています。プロジェクトで使用中のバージョンを確認し、このガイドのバージョンと異なる場合はユーザーに通知してください。
|
|
13
13
|
|
|
14
14
|
公式ドキュメント: https://lism-css.com/docs/overview.md
|
|
15
15
|
|
|
@@ -195,7 +195,7 @@ Figma 等のデザインデータから値を読み取って実装する場合
|
|
|
195
195
|
- 一貫性・スケーラビリティを優先。微差は許容する。
|
|
196
196
|
- **C. トークン全体の基準値を上書きする**
|
|
197
197
|
- デザインのスケールに合わせて、`--s-unit` / `--fz-mol` などの基準変数や、 `--s10`, `--fz--xl` , `--bdrs--10` などの**具体的な各トークン変数を `global.css` で再定義**することで、トークン全体をデザインデータに揃える。
|
|
198
|
-
- 既存トークンの上書きで吸収できない場合に限り、`--
|
|
198
|
+
- 既存トークンの上書きで吸収できない場合に限り、`--s45` 等のカスタムトークンを追加する。
|
|
199
199
|
|
|
200
200
|
4. 確認結果に従って実装する。
|
|
201
201
|
|
|
@@ -220,7 +220,7 @@ Figma 等のデザインデータから値を読み取って実装する場合
|
|
|
220
220
|
- [trait-class.md](./trait-class.md) — 要素に役割・機能を宣言する Trait クラス(`is--`/`has--`)の一覧と用途。
|
|
221
221
|
- [utility-class.md](./utility-class.md) — 具体的な用途・装飾・機能を持つユーティリティクラス(`u--` クラス)の一覧と用途。
|
|
222
222
|
- [property-class.md](./property-class.md) — 単一のCSSプロパティに対応するProperty Class(`-{prop}:{value}`形式のクラス)の一覧・記法。
|
|
223
|
-
- [
|
|
223
|
+
- [responsive.md](./responsive.md) — レスポンシブ対応(ブレークポイント・コンテナクエリ)の書き方・仕様。
|
|
224
224
|
- [components-core.md](./components-core.md) — `lism-css`パッケージに含まれるコアコンポーネントの一覧と用途。(React, Astroで使える`<Lism>`・Lism Props・getLismProps )
|
|
225
225
|
- [components-ui.md](./components-ui.md) — `@lism-css/ui`パッケージに含まれるUIコンポーネント(Accordion・Modal・Tabs・Button 等)の Props・構造とCLIコマンドによるインストール方法。
|
|
226
226
|
- [customize.md](./customize.md) — SCSS変数の上書きによる、lism-cssのコアCSSの挙動カスタマイズ方法・`lism.config.js` によるコアコンポーネント挙動のカスタマイズ方法。
|
|
@@ -8,6 +8,7 @@ AI が Lism CSS のコードを生成する際に間違いやすい記法と、
|
|
|
8
8
|
- [px / 固定値の直書き](#px--固定値の直書き)
|
|
9
9
|
- [Property Class で書けるのに CSS で書く](#property-class-で書けるのに-css-で書く)
|
|
10
10
|
- [`is--` の誤用(状態・バリエーション)](#is---の誤用状態バリエーション)
|
|
11
|
+
- [カスタムクラスを全て `c--` にしてしまう](#カスタムクラスを何でも-c---にしない)
|
|
11
12
|
- [クラス名の命名ミス(kebab-case)](#クラス名の命名ミスkebab-case)
|
|
12
13
|
- [`--keycolor` の誤用](#--keycolor-の誤用)
|
|
13
14
|
- [Prop 型ミス](#prop-型ミス)
|
|
@@ -32,18 +33,18 @@ Lism CSS側が用意しているトークン値と異なるものを書かない
|
|
|
32
33
|
| `c="muted"` | `c="text-2"` | 補助テキスト色は `text-2` |
|
|
33
34
|
| `c="danger"` | `c="red"` | パレットカラーから選ぶ(`red` / `orange` 等) |
|
|
34
35
|
|
|
35
|
-
- セマンティックカラー: `base` / `base-2` / `text` / `text-2` / `divider` / `link` / `brand` / `accent`
|
|
36
|
+
- セマンティックカラー: `base` / `base-2` / `text` / `text-2` / `divider` / `link` / `brand` / `accent` / `neutral`
|
|
36
37
|
- パレットカラー: `red` / `blue` / `green` / `yellow` / `purple` / `orange` / `pink` / `gray` / `white` / `black`
|
|
37
38
|
|
|
38
39
|
### スペース(`p` / `m` / `g` 等)
|
|
39
40
|
|
|
40
|
-
|
|
41
|
+
スペーストークンの数値は**離散的**で、`5/10/15/20/25/30/35/40/50/60/70/80` のみが用意されている。`8/12/14/45/65/75` 等を書きそうになったら、必ず最寄りトークンに丸めるか、ユーザーに方針確認すること(→ [SKILL.md のデザイン取り込みフロー](./SKILL.md#デザインデータ取り込み時のフロー))。
|
|
41
42
|
|
|
42
43
|
| NG | OK | 理由 |
|
|
43
44
|
|---|---|---|
|
|
44
|
-
| `p="8"` | `p="10"` |
|
|
45
|
+
| `p="8"` | `p="10"` | スペーストークンは離散値のみ。tailwindのような4の倍数で連続するスケールではない |
|
|
45
46
|
| `g="6"` | `g="5"` | 同上 |
|
|
46
|
-
| `m="
|
|
47
|
+
| `m="45"`, `m="55"` | `m="40"` or `m="50"` | `40` 以降の中間値は用意されていない(前半は `5/15/25/35` まで補完済み) |
|
|
47
48
|
| `m="100"` | `m="80"` | 上限は `80`(ユーザーが追加定義している可能性はある) |
|
|
48
49
|
|
|
49
50
|
### フォントサイズ(`fz`)
|
|
@@ -158,7 +159,23 @@ Lism CSS の `is--` プレフィックスは「**〜である**」という**役
|
|
|
158
159
|
| `<span class="c--tag is--solid">` + `.c--tag.is--solid { ... }` | `<span class="c--tag c--tag--solid">` + `.c--tag.c--tag--solid { ... }` |
|
|
159
160
|
| `<button class="c--button is--outline">` | `<button class="c--button c--button--outline">` |
|
|
160
161
|
|
|
161
|
-
|
|
162
|
+
なお、Modifier であってもまずは [Property Class で表現できないか](#property-class-で書けるのに-css-で書く) を検討すること。「色だけ違う」程度ならマークアップ側で `-bgc:* -c:*` を差し替えるだけで済むことも多い。
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## カスタムクラスを全て `c--` にしてしまう
|
|
167
|
+
|
|
168
|
+
`c--` は「**コンポーネント**(再利用可能な UI 部品)」を表すプレフィックス。**カスタムクラスを必ず `c--` で命名する必要はない**。サイトの大まかな領域(header / sidebar / main / footer 等)やページ固有のスタイルなど、再利用が前提でないクラスは、独自プレフィックス(`z--` / `p--` 等)やプレフィックスなしの命名も選択肢として検討すること。
|
|
169
|
+
|
|
170
|
+
→ 詳細: [css-rules.md の独自プレフィックス](./css-rules.md#独自プレフィックス)
|
|
171
|
+
|
|
172
|
+
| 用途 | 命名の例 | 配置レイヤー |
|
|
173
|
+
|---|---|---|
|
|
174
|
+
| 再利用可能な UI 部品 | `c--button` / `c--card` / `c--tag` | `@layer lism-component` |
|
|
175
|
+
| サイトのゾーニング | `z--header` / `z--sidebar` / `z--articleBody`(または `header` / `sidebar` / `articleBody`) | `@layer lism-custom` |
|
|
176
|
+
| ページ固有のスタイル | `p--front` / `p--post`(または `frontPage` / `postPage`) | `@layer lism-custom` |
|
|
177
|
+
|
|
178
|
+
`c--header` のような命名も間違いとまでは言えないが、「カスタムクラス=必ず `c--`」ではないことに注意する。
|
|
162
179
|
|
|
163
180
|
---
|
|
164
181
|
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
- [プレフィックスとクラス分類](#プレフィックスとクラス分類)
|
|
7
7
|
- [Component Class(`c--`)](#component-classc--)
|
|
8
8
|
- [カスタムCSS を追加する場合](#カスタムcss-を追加する場合)
|
|
9
|
+
- [独自プレフィックス](#独自プレフィックス)
|
|
9
10
|
- [CSS の配置場所](#css-の配置場所)
|
|
10
11
|
|
|
11
12
|
[詳細](https://lism-css.com/docs/css-methodology.md)
|
|
@@ -207,6 +208,27 @@ export default function MyCard(props) {
|
|
|
207
208
|
```
|
|
208
209
|
|
|
209
210
|
|
|
211
|
+
### 独自プレフィックス
|
|
212
|
+
|
|
213
|
+
Lism CSS の既存プレフィックス(`set--` / `is--` / `has--` / `l--` / `a--` / `c--` / `u--` / `-`)のどれにも該当しないクラスは、独自プレフィックスを付けても、プレフィックスなしで命名しても構いません。
|
|
214
|
+
|
|
215
|
+
代表的な例:
|
|
216
|
+
|
|
217
|
+
| 分類 | 形式 | 例 |
|
|
218
|
+
|---|---|---|
|
|
219
|
+
| ゾーニング(サイトの大まかな領域) | `z--{zoneName}` または `{zoneName}` | `z--header`, `z--main`, `z--sidebar`, `z--footer` |
|
|
220
|
+
| ページ分類 | `p--{type}-{id\|slug}` または `{slug}Page` | `p--front`, `p--page--{slug}` |
|
|
221
|
+
|
|
222
|
+
これらは、特に理由がなければ `@layer lism-custom` に配置することを推奨します。
|
|
223
|
+
|
|
224
|
+
```css
|
|
225
|
+
@layer lism-custom {
|
|
226
|
+
.z--header { /* ... */ }
|
|
227
|
+
.p--front { /* ... */ }
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
|
|
210
232
|
## CSS の配置場所
|
|
211
233
|
|
|
212
234
|
### グローバル CSS(サイト全体)
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|------|------|-----|
|
|
22
22
|
| 基本 | `--{prop}--{token}` | `--fz--l`, `--bdrs--20`, `--bxsh--10`, `--sz--s` |
|
|
23
23
|
| カラー | `--{color}` | `--brand`, `--text`, `--text-2`, `--red` |
|
|
24
|
-
|
|
|
24
|
+
| 余白 | `--s{Token}` | `--s10`, `--s40` |
|
|
25
25
|
|
|
26
26
|
トークンのバリエーション:
|
|
27
27
|
|
|
@@ -127,14 +127,17 @@ Emmet と異なるのは `o` (`opacity`) のみ。
|
|
|
127
127
|
|
|
128
128
|
#### 方向指定系: 「グループ略称」 + `-` +「方向指定」
|
|
129
129
|
|
|
130
|
+
`inline-start`/`inline-end`は`is`/`ie`ではなく、すでに普及しているCSSフレームワークの慣習に沿って`s`/`e`とする。
|
|
131
|
+
|
|
130
132
|
| 方向 | サフィックス | 例 |
|
|
131
133
|
|------|-----------|-----|
|
|
132
134
|
| physical | `-t` / `-b` / `-l` / `-r` | `bd-t`, `bd-b`, `bd-l`, `bd-r` |
|
|
133
135
|
| inline / block | `-x` / `-y` | `bd-x`, `bd-y` |
|
|
134
|
-
| start / end | `-s` / `-e` | `bd-
|
|
136
|
+
| inline-start / end | `-s` / `-e` | `bd-s`, `bd-e`, `ps`, `pe`, `ms`, `me`, `i-s`, `i-e` |
|
|
137
|
+
| block-start / end | `-bs` / `-be` | `bd-bs`, `bd-be`, `pbs`, `pbe`, `mbs`, `mbe`, `i-bs`, `i-be` |
|
|
135
138
|
| x / y | `-x` / `-y` | `ov-x`, `ov-y` |
|
|
136
139
|
|
|
137
|
-
例外: `p`, `m`
|
|
140
|
+
例外: `p`, `m` のみハイフンを省略 → `pt`, `px`, `my`, `ms` 等。
|
|
138
141
|
|
|
139
142
|
#### グループ略称の衝突禁止
|
|
140
143
|
|
|
@@ -119,7 +119,7 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
|
|
|
119
119
|
#### 補足
|
|
120
120
|
|
|
121
121
|
- 各 Primitive の詳細・使用例は [primitives/](./primitives/) 配下の個別ファイルを参照
|
|
122
|
-
- レスポンシブな値(配列指定)を使う場合は祖先要素に `is--container` が必須([
|
|
122
|
+
- レスポンシブな値(配列指定)を使う場合は祖先要素に `is--container` が必須([responsive.md](./responsive.md))
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
## Atomic Primitive(`a--`)
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
```jsx
|
|
24
24
|
<Box p="30" pos="relative">
|
|
25
25
|
<p>本文テキスト...</p>
|
|
26
|
-
<Decorator size="1.25em" pos="absolute" t="0" l="0" bd-
|
|
27
|
-
<Decorator size="1.25em" pos="absolute" r="0" b="0" bd-
|
|
26
|
+
<Decorator size="1.25em" pos="absolute" t="0" l="0" bd-s bd-bs bdc="current" />
|
|
27
|
+
<Decorator size="1.25em" pos="absolute" r="0" b="0" bd-e bd-be bdc="current" />
|
|
28
28
|
</Box>
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
```html
|
|
32
32
|
<div class="l--box -p:30 -pos:relative">
|
|
33
33
|
<p>本文テキスト...</p>
|
|
34
|
-
<div class="a--decorator -pos:absolute -t:0 -l:0 -bd-
|
|
35
|
-
<div class="a--decorator -pos:absolute -r:0 -b:0 -bd-
|
|
34
|
+
<div class="a--decorator -pos:absolute -t:0 -l:0 -bd-s -bd-bs -bdc:current -ar:1/1 -w" style="--w:1.25em" aria-hidden="true"></div>
|
|
35
|
+
<div class="a--decorator -pos:absolute -r:0 -b:0 -bd-e -bd-be -bdc:current -ar:1/1 -w" style="--w:1.25em" aria-hidden="true"></div>
|
|
36
36
|
</div>
|
|
37
37
|
```
|
|
38
38
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
14
|
-
`<Spacer
|
|
14
|
+
`<Spacer>`では **`w` / `h` に対してSPACEトークンの値**が使えます(他のコンポーネントではSIZEトークンが優先されるため、スペースサイズを直感的に指定できる特殊対応)。
|
|
15
15
|
|
|
16
16
|
## Usage
|
|
17
17
|
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<p>Content...</p>
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
### SPACE
|
|
32
|
+
### SPACEトークンを使う
|
|
33
33
|
|
|
34
34
|
```jsx
|
|
35
35
|
<p>Content...</p>
|
|
@@ -56,14 +56,14 @@ Property Class や Lism Props で Flex 関連プロパティ(`g`, `fxw`, `jc`,
|
|
|
56
56
|
```jsx
|
|
57
57
|
<Flex g="20">
|
|
58
58
|
<Lism fx="1">Flex Content</Lism>
|
|
59
|
-
<Lism fxb={['
|
|
59
|
+
<Lism fxb={['50%', null, '25%']}>Flex Content</Lism>
|
|
60
60
|
</Flex>
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
```html
|
|
64
64
|
<div class="l--flex -g:20">
|
|
65
65
|
<div class="-fx:1">Flex Content</div>
|
|
66
|
-
<div class="-fxb -
|
|
66
|
+
<div class="-fxb -fxb_md" style="--fxb:50%;--fxb_md:25%">Flex Content</div>
|
|
67
67
|
</div>
|
|
68
68
|
```
|
|
69
69
|
|
|
@@ -15,10 +15,12 @@
|
|
|
15
15
|
|
|
16
16
|
| クラス | 余白量 |
|
|
17
17
|
|--------|-------|
|
|
18
|
-
| `l--flow` | `--flow--base`(`--s30`) |
|
|
18
|
+
| `l--flow` | `--flow--base`(`--s30`、`lang="ja"` 時は `--s35`) |
|
|
19
19
|
| `.l--flow.-flow:s` | `--flow--s`(`--s20`) |
|
|
20
20
|
| `.l--flow.-flow:` | `--flow` を直接指定した値 |
|
|
21
21
|
|
|
22
|
+
`--flow--base` / `--flow--s` は `:root` で定義されたトークン([tokens](../tokens.md#フロー余白-flow) 参照)。日本語環境では文字密度に合わせて `--flow--base` が広めに上書きされる。
|
|
23
|
+
|
|
22
24
|
## 専用Props
|
|
23
25
|
|
|
24
26
|
| Prop | 説明 |
|
|
@@ -126,7 +128,7 @@
|
|
|
126
128
|
</Flow>
|
|
127
129
|
```
|
|
128
130
|
|
|
129
|
-
またネストされた `l--flow` は、`--flow`
|
|
131
|
+
またネストされた `l--flow` は、`--flow` が未定義の場合、ルートで定義された `--flow--base` ではなく**親の `--flow` を継承**することにも注意してください。
|
|
130
132
|
|
|
131
133
|
## 関連プリミティブ
|
|
132
134
|
|
|
@@ -36,16 +36,16 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
|
|
|
36
36
|
| `bd` | `border`(変数管理を有効化) |
|
|
37
37
|
| `bd-x` | `border-inline` |
|
|
38
38
|
| `bd-y` | `border-block` |
|
|
39
|
-
| `bd-
|
|
40
|
-
| `bd-
|
|
41
|
-
| `bd-
|
|
42
|
-
| `bd-
|
|
39
|
+
| `bd-s` | `border-inline-start` |
|
|
40
|
+
| `bd-e` | `border-inline-end` |
|
|
41
|
+
| `bd-bs` | `border-block-start` |
|
|
42
|
+
| `bd-be` | `border-block-end` |
|
|
43
43
|
| `bd-t` | `border-top` |
|
|
44
44
|
| `bd-b` | `border-bottom` |
|
|
45
45
|
| `bd-l` | `border-left` |
|
|
46
46
|
| `bd-r` | `border-right` |
|
|
47
47
|
|
|
48
|
-
標準で用意しているのは物理方向(`-t` / `-b` / `-l` / `-r`)と論理方向(`-x` / `-y` / `-
|
|
48
|
+
標準で用意しているのは物理方向(`-t` / `-b` / `-l` / `-r`)と論理方向(`-x` / `-y` / `-s` / `-e` / `-bs` / `-be`)のみ。
|
|
49
49
|
|
|
50
50
|
## 値プロパティ
|
|
51
51
|
|
|
@@ -76,12 +76,12 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
|
|
|
76
76
|
```jsx
|
|
77
77
|
<Box bd-t px="10">-t: Top</Box>
|
|
78
78
|
<Box bd-x bdw="2px" px="10">inline</Box>
|
|
79
|
-
<Box bd-
|
|
79
|
+
<Box bd-s bdw="2px" px="10">inline-start</Box>
|
|
80
80
|
```
|
|
81
81
|
```html
|
|
82
82
|
<div class="l--box -bd-t -px:10">-t: Top</div>
|
|
83
83
|
<div class="l--box -bd-x -px:10" style="--bdw: 2px">inline</div>
|
|
84
|
-
<div class="l--box -bd-
|
|
84
|
+
<div class="l--box -bd-s -px:10" style="--bdw: 2px">inline-start</div>
|
|
85
85
|
```
|
|
86
86
|
|
|
87
87
|
### 方向ごとに異なるスタイル
|
|
@@ -112,12 +112,12 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
|
|
|
112
112
|
|
|
113
113
|
### BP でボーダー方向を切り替える
|
|
114
114
|
|
|
115
|
-
`bd-
|
|
115
|
+
`bd-s` + `bd-bs` に `bdw` の複数値を BP で差し替えると、「縦並び時は上下線・横並び時は左右線」のように方向を切り替えられる。
|
|
116
116
|
|
|
117
117
|
```jsx
|
|
118
118
|
<Flex fxd={['column', 'row']}>
|
|
119
119
|
<Box px="15" py="5">Box</Box>
|
|
120
|
-
<Box px="15" py="5" bd-
|
|
120
|
+
<Box px="15" py="5" bd-s bd-bs bdw={['1px 0', '0 1px']}>Box</Box>
|
|
121
121
|
</Flex>
|
|
122
122
|
```
|
|
123
123
|
|
|
@@ -30,12 +30,16 @@ hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで
|
|
|
30
30
|
|--------|----------------------|--------|
|
|
31
31
|
| `-hov:-c` | `color` | `var(--hov-c, var(--link))` |
|
|
32
32
|
| `-hov:-bdc` | `border-color` | `var(--hov-bdc, currentColor)` |
|
|
33
|
-
| `-hov:-bgc` | `background-color` | `var(--hov-bgc, var(--base
|
|
33
|
+
| `-hov:-bgc` | `background-color` | `var(--hov-bgc, var(--hov-bgc--default, color-mix(in srgb, var(--bgc, var(--base)), var(--neutral) 25%)))` |
|
|
34
34
|
| `-hov:-o` | `opacity` | `var(--hov-o, var(--o--p))` |
|
|
35
35
|
| `-hov:-bxsh` | `box-shadow` | `var(--hov-bxsh, var(--bxsh--50))` |
|
|
36
36
|
|
|
37
37
|
任意の値へ変化させたい場合は、`--hov-{prop}` 変数で値を指定する。
|
|
38
38
|
|
|
39
|
+
`-hov:-bgc` は初期値として、現在の背景色を `--neutral` へブレンドした背景色を使う。ライト/ダークどちらの背景でも使いやすいhover背景にしたい場合は、`hov="-bgc"` を基本形として使う。
|
|
40
|
+
|
|
41
|
+
プロジェクト全体で `-hov:-bgc` のデフォルト値を差し替えたい場合は、`:root` 等で `--hov-bgc--default` を定義する。フォールバック順は `--hov-bgc`(要素ごとの明示指定)→ `--hov-bgc--default`(プロジェクト全体)→ `color-mix(...)`(フレームワーク既定)の 3 段。
|
|
42
|
+
|
|
39
43
|
```html
|
|
40
44
|
<!-- 初期値のまま使用 -->
|
|
41
45
|
<a class="is--boxLink -hov:-o -bgc:base-2 -bd -p:20" href="###">...</a>
|
|
@@ -52,7 +56,6 @@ hover 時のスタイルセットをプリセット名でまとめて適用す
|
|
|
52
56
|
| クラス | 内容 |
|
|
53
57
|
|--------|------|
|
|
54
58
|
| `-hov:underline` | テキストに下線を表示 |
|
|
55
|
-
| `-hov:neutral` | 背景色にニュートラルグレーをブレンド |
|
|
56
59
|
|
|
57
60
|
プロジェクト固有のプリセットは、以下のように自作して追加できる。
|
|
58
61
|
|
|
@@ -65,7 +65,7 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
65
65
|
| **Prop** | クラス名に使う省略名(例: `-fz:l` の `fz` 部分)。Lism コンポーネントの Props 名でもある |
|
|
66
66
|
| **CSS プロパティ** | 実際に制御される CSS プロパティ |
|
|
67
67
|
| **プリセット値クラス** | そのまま使えるクラス名の一覧(`-{prop}:{value}` 形式)。`—` はカスタム値のみ対応 |
|
|
68
|
-
| **BP
|
|
68
|
+
| **BP** | ブレークポイント対応クラス(`-{prop}_{bp}` 形式)のサポート状況。`✔` は `sm`・`md`、`✔ lg` は `lg` まで対応、`—` は非対応 |
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
## 全 Prop 一覧
|
|
@@ -74,15 +74,15 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
74
74
|
|
|
75
75
|
### タイポグラフィ
|
|
76
76
|
|
|
77
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
77
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
78
78
|
|------|--------------|-------------|-----|
|
|
79
79
|
| `f` | `font` | `-f:inherit` | — |
|
|
80
|
-
| `fz` | `font-size` | `-fz:root`, `-fz:base`, `-fz:5xl`〜`-fz:2xs` |
|
|
80
|
+
| `fz` | `font-size` | `-fz:root`, `-fz:base`, `-fz:5xl`〜`-fz:2xs` | ✔ |
|
|
81
81
|
| `fw` | `font-weight` | `-fw:light`, `-fw:normal`, `-fw:bold`, `-fw:100`〜`-fw:900` | — |
|
|
82
82
|
| `ff` | `font-family` | `-ff:base`, `-ff:accent`, `-ff:mono` | — |
|
|
83
83
|
| `fs` | `font-style` | `-fs:italic` | — |
|
|
84
84
|
| `lh` | `line-height`(`--hl` 経由) | `-lh:base`, `-lh:xs`, `-lh:s`, `-lh:l`, `-lh:1` | — |
|
|
85
|
-
| `hl` | `--hl` 変数のみ | — |
|
|
85
|
+
| `hl` | `--hl` 変数のみ | — | — |
|
|
86
86
|
| `lts` | `letter-spacing` | `-lts:base`, `-lts:s`, `-lts:l`, `-lts:xl` | — |
|
|
87
87
|
| `ta` | `text-align` | `-ta:center`, `-ta:left`, `-ta:right` | — |
|
|
88
88
|
| `td` | `text-decoration` | `-td:none` | — |
|
|
@@ -92,26 +92,26 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
92
92
|
|
|
93
93
|
### 表示・可視性
|
|
94
94
|
|
|
95
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
95
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
96
96
|
|------|--------------|-------------|-----|
|
|
97
|
-
| `d` | `display` | `-d:none`, `-d:block`, `-d:flex`, `-d:inline-flex`, `-d:grid`, `-d:inline-grid`, `-d:inline`, `-d:inline-block` |
|
|
97
|
+
| `d` | `display` | `-d:none`, `-d:block`, `-d:flex`, `-d:inline-flex`, `-d:grid`, `-d:inline-grid`, `-d:inline`, `-d:inline-block` | ✔ lg |
|
|
98
98
|
| `o` | `opacity` | `-o:0`, `-o:mp`, `-o:p`, `-o:pp`, `-o:ppp` | — |
|
|
99
99
|
| `v` | `visibility` | `-v:hidden` | — |
|
|
100
100
|
| `ov` | `overflow` | `-ov:hidden`, `-ov:auto`, `-ov:clip` | — |
|
|
101
101
|
| `ov-x` | `overflow-x` | `-ov-x:clip`, `-ov-x:auto`, `-ov-x:scroll` | — |
|
|
102
102
|
| `ov-y` | `overflow-y` | `-ov-y:clip`, `-ov-y:auto`, `-ov-y:scroll` | — |
|
|
103
|
-
| `ar` | `aspect-ratio` | `-ar:21/9`, `-ar:16/9`, `-ar:3/2`, `-ar:1/1`, `-ar:og` |
|
|
103
|
+
| `ar` | `aspect-ratio` | `-ar:21/9`, `-ar:16/9`, `-ar:3/2`, `-ar:1/1`, `-ar:og` | ✔ |
|
|
104
104
|
|
|
105
105
|
### サイズ
|
|
106
106
|
|
|
107
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
107
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
108
108
|
|------|--------------|-------------|-----|
|
|
109
|
-
| `w` | `width` | `-w:100%`, `-w:fit` |
|
|
110
|
-
| `h` | `height` | `-h:100%`, `-h:fit` |
|
|
111
|
-
| `min-w` | `min-width` | `-min-w:100%` |
|
|
112
|
-
| `max-w` | `max-width` | `-max-w:100%` |
|
|
113
|
-
| `min-h` | `min-height` | `-min-h:100%` |
|
|
114
|
-
| `max-h` | `max-height` | `-max-h:100%` |
|
|
109
|
+
| `w` | `width` | `-w:100%`, `-w:fit` | ✔ |
|
|
110
|
+
| `h` | `height` | `-h:100%`, `-h:fit` | ✔ |
|
|
111
|
+
| `min-w` | `min-width` | `-min-w:100%` | ✔ |
|
|
112
|
+
| `max-w` | `max-width` | `-max-w:100%` | ✔ |
|
|
113
|
+
| `min-h` | `min-height` | `-min-h:100%` | ✔ |
|
|
114
|
+
| `max-h` | `max-height` | `-max-h:100%` | ✔ |
|
|
115
115
|
| `sz` | `inline-size` | — | — |
|
|
116
116
|
| `min-sz` | `min-inline-size` | — | — |
|
|
117
117
|
| `max-sz` | `max-inline-size` | `-max-sz:xs`, `-max-sz:s`, `-max-sz:m`, `-max-sz:l`, `-max-sz:xl`, `-max-sz:full`, `-max-sz:bleed` | — |
|
|
@@ -127,9 +127,9 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
127
127
|
|
|
128
128
|
### 背景
|
|
129
129
|
|
|
130
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
130
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
131
131
|
|------|--------------|-------------|-----|
|
|
132
|
-
| `bg` | `background` | — |
|
|
132
|
+
| `bg` | `background` | — | — |
|
|
133
133
|
| `bgi` | `background-image` | — | — |
|
|
134
134
|
| `bgr` | `background-repeat` | `-bgr:no-repeat` | — |
|
|
135
135
|
| `bgp` | `background-position` | `-bgp:center` | — |
|
|
@@ -138,20 +138,20 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
138
138
|
|
|
139
139
|
### カラー
|
|
140
140
|
|
|
141
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
141
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
142
142
|
|------|--------------|-------------|-----|
|
|
143
143
|
| `c` | `color` | `-c:base`, `-c:text`, `-c:text-2`, `-c:brand`, `-c:accent`, `-c:inherit` | — |
|
|
144
144
|
| `keycolor` | `--keycolor` 変数のみ | — | — |
|
|
145
145
|
|
|
146
|
-
セマンティックカラー: `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent`
|
|
146
|
+
セマンティックカラー: `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent`, `neutral`<br />
|
|
147
147
|
パレットカラー: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `gray`, `white`, `black`
|
|
148
148
|
キーカラー変数: `keycolor`(ユーザー定義の `--keycolor` を参照する独立変数。詳細は `tokens.md` を参照)
|
|
149
149
|
|
|
150
150
|
### 角丸
|
|
151
151
|
|
|
152
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
152
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
153
153
|
|------|--------------|-------------|-----|
|
|
154
|
-
| `bdrs` | `border-radius` | `-bdrs:0`, `-bdrs:10`, `-bdrs:20`, `-bdrs:30`, `-bdrs:40`, `-bdrs:99`, `-bdrs:inner` |
|
|
154
|
+
| `bdrs` | `border-radius` | `-bdrs:0`, `-bdrs:10`, `-bdrs:20`, `-bdrs:30`, `-bdrs:40`, `-bdrs:99`, `-bdrs:inner` | ✔ |
|
|
155
155
|
| `bdrs-tl` | `border-top-left-radius` | — | — |
|
|
156
156
|
| `bdrs-tr` | `border-top-right-radius` | — | — |
|
|
157
157
|
| `bdrs-br` | `border-bottom-right-radius` | — | — |
|
|
@@ -163,15 +163,15 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
163
163
|
|
|
164
164
|
### 影
|
|
165
165
|
|
|
166
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
166
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
167
167
|
|------|--------------|-------------|-----|
|
|
168
|
-
| `bxsh` | `box-shadow` | `-bxsh:0`, `-bxsh:10`, `-bxsh:20`, `-bxsh:30`, `-bxsh:40`, `-bxsh:50` |
|
|
168
|
+
| `bxsh` | `box-shadow` | `-bxsh:0`, `-bxsh:10`, `-bxsh:20`, `-bxsh:30`, `-bxsh:40`, `-bxsh:50` | ✔ |
|
|
169
169
|
|
|
170
170
|
**補足:** 影色(`--shc`)を要素内で上書きして再計算させたい場合は、`set--var:bxsh` クラスを併用する。
|
|
171
171
|
|
|
172
172
|
### ポジション
|
|
173
173
|
|
|
174
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
174
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
175
175
|
|------|--------------|-------------|-----|
|
|
176
176
|
| `pos` | `position` | `-pos:static`, `-pos:fixed`, `-pos:sticky`, `-pos:relative`, `-pos:absolute` | — |
|
|
177
177
|
| `z` | `z-index` | `-z:-1`, `-z:0`, `-z:1`, `-z:99` | — |
|
|
@@ -182,86 +182,86 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
182
182
|
| `i` | `inset` | `-i:0` | — |
|
|
183
183
|
| `i-x` | `inset-inline` | — | — |
|
|
184
184
|
| `i-y` | `inset-block` | — | — |
|
|
185
|
-
| `i-
|
|
186
|
-
| `i-
|
|
187
|
-
| `i-
|
|
188
|
-
| `i-
|
|
185
|
+
| `i-s` | `inset-inline-start` | — | — |
|
|
186
|
+
| `i-e` | `inset-inline-end` | — | — |
|
|
187
|
+
| `i-bs` | `inset-block-start` | — | — |
|
|
188
|
+
| `i-be` | `inset-block-end` | — | — |
|
|
189
189
|
|
|
190
|
-
###
|
|
190
|
+
### 余白 — Padding
|
|
191
191
|
|
|
192
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
192
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
193
193
|
|------|--------------|-------------|-----|
|
|
194
|
-
| `p` | `padding` | `-p:0`, `-p:5`, `-p:10`, `-p:20`, ... (SPACE
|
|
195
|
-
| `px` | `padding-inline` | `-px:0`, `-px:5`, `-px:10`, `-px:20`, ... (SPACE
|
|
196
|
-
| `py` | `padding-block` | `-py:0`, `-py:5`, `-py:10`, `-py:20`, ... (SPACE
|
|
197
|
-
| `
|
|
198
|
-
| `
|
|
199
|
-
| `
|
|
200
|
-
| `
|
|
201
|
-
| `pl` | `padding-left` | — |
|
|
202
|
-
| `pr` | `padding-right` | — |
|
|
203
|
-
| `pt` | `padding-top` | — |
|
|
204
|
-
| `pb` | `padding-bottom` | — |
|
|
205
|
-
|
|
206
|
-
SPACE
|
|
207
|
-
|
|
208
|
-
###
|
|
209
|
-
|
|
210
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
194
|
+
| `p` | `padding` | `-p:0`, `-p:5`, `-p:10`, `-p:20`, ... (SPACEトークン) | ✔ |
|
|
195
|
+
| `px` | `padding-inline` | `-px:0`, `-px:5`, `-px:10`, `-px:20`, ... (SPACEトークン) | ✔ |
|
|
196
|
+
| `py` | `padding-block` | `-py:0`, `-py:5`, `-py:10`, `-py:20`, ... (SPACEトークン) | ✔ |
|
|
197
|
+
| `ps` | `padding-inline-start` | — | ✔ |
|
|
198
|
+
| `pe` | `padding-inline-end` | — | ✔ |
|
|
199
|
+
| `pbs` | `padding-block-start` | — | ✔ |
|
|
200
|
+
| `pbe` | `padding-block-end` | — | ✔ |
|
|
201
|
+
| `pl` | `padding-left` | — | — |
|
|
202
|
+
| `pr` | `padding-right` | — | — |
|
|
203
|
+
| `pt` | `padding-top` | — | — |
|
|
204
|
+
| `pb` | `padding-bottom` | — | — |
|
|
205
|
+
|
|
206
|
+
SPACEトークン(全値): `5`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `50`, `60`, `70`, `80`
|
|
207
|
+
|
|
208
|
+
### 余白 — Margin
|
|
209
|
+
|
|
210
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
211
211
|
|------|--------------|-------------|-----|
|
|
212
|
-
| `m` | `margin` | `-m:auto`, `-m:0`, `-m:5`, `-m:10`, `-m:20`, ... (SPACE
|
|
213
|
-
| `mx` | `margin-inline` | `-mx:auto`, `-mx:0`, `-mx:5`, `-mx:10`, `-mx:20`, ... (SPACE
|
|
214
|
-
| `my` | `margin-block` | `-my:auto`, `-my:0`, `-my:5`, `-my:10`, `-my:20`, ... (SPACE
|
|
215
|
-
| `
|
|
216
|
-
| `
|
|
217
|
-
| `
|
|
218
|
-
| `
|
|
219
|
-
| `ml` | `margin-left` | — |
|
|
220
|
-
| `mr` | `margin-right` | — |
|
|
221
|
-
| `mt` | `margin-top` | — |
|
|
222
|
-
| `mb` | `margin-bottom` | — |
|
|
212
|
+
| `m` | `margin` | `-m:auto`, `-m:0`, `-m:5`, `-m:10`, `-m:20`, ... (SPACEトークン) | ✔ |
|
|
213
|
+
| `mx` | `margin-inline` | `-mx:auto`, `-mx:0`, `-mx:5`, `-mx:10`, `-mx:20`, ... (SPACEトークン) | ✔ |
|
|
214
|
+
| `my` | `margin-block` | `-my:auto`, `-my:0`, `-my:5`, `-my:10`, `-my:20`, ... (SPACEトークン) | ✔ |
|
|
215
|
+
| `ms` | `margin-inline-start` | `-ms:auto` | ✔ |
|
|
216
|
+
| `me` | `margin-inline-end` | `-me:auto` | ✔ |
|
|
217
|
+
| `mbs` | `margin-block-start` | `-mbs:auto`, `-mbs:0`, `-mbs:5`, `-mbs:10`, `-mbs:20`, ... (SPACEトークン) | ✔ |
|
|
218
|
+
| `mbe` | `margin-block-end` | `-mbe:auto` | ✔ |
|
|
219
|
+
| `ml` | `margin-left` | — | — |
|
|
220
|
+
| `mr` | `margin-right` | — | — |
|
|
221
|
+
| `mt` | `margin-top` | — | — |
|
|
222
|
+
| `mb` | `margin-bottom` | — | — |
|
|
223
223
|
|
|
224
224
|
### Gap
|
|
225
225
|
|
|
226
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
226
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
227
227
|
|------|--------------|-------------|-----|
|
|
228
|
-
| `g` | `gap` | `-g:0`, `-g:inherit`, `-g:5`, `-g:10`, `-g:20`, ... (SPACE
|
|
229
|
-
| `cg` | `column-gap` | — |
|
|
230
|
-
| `rg` | `row-gap` | — |
|
|
228
|
+
| `g` | `gap` | `-g:0`, `-g:inherit`, `-g:5`, `-g:10`, `-g:20`, ... (SPACEトークン) | ✔ lg |
|
|
229
|
+
| `cg` | `column-gap` | — | — |
|
|
230
|
+
| `rg` | `row-gap` | — | — |
|
|
231
231
|
|
|
232
232
|
### Flex
|
|
233
233
|
|
|
234
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
234
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
235
235
|
|------|--------------|-------------|-----|
|
|
236
236
|
| `fxf` | `flex-flow` | — | — |
|
|
237
|
-
| `fxw` | `flex-wrap` | `-fxw:wrap` |
|
|
238
|
-
| `fxd` | `flex-direction` | `-fxd:column`, `-fxd:column-reverse`, `-fxd:row-reverse` |
|
|
239
|
-
| `fx` | `flex` | `-fx:1` |
|
|
237
|
+
| `fxw` | `flex-wrap` | `-fxw:wrap` | ✔ |
|
|
238
|
+
| `fxd` | `flex-direction` | `-fxd:column`, `-fxd:column-reverse`, `-fxd:row-reverse` | ✔ |
|
|
239
|
+
| `fx` | `flex` | `-fx:1` | ✔ |
|
|
240
240
|
| `fxg` | `flex-grow` | `-fxg:1` | — |
|
|
241
241
|
| `fxsh` | `flex-shrink` | `-fxsh:0` | — |
|
|
242
|
-
| `fxb` | `flex-basis` | — |
|
|
242
|
+
| `fxb` | `flex-basis` | — | ✔ |
|
|
243
243
|
|
|
244
244
|
### Grid
|
|
245
245
|
|
|
246
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
246
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
247
247
|
|------|--------------|-------------|-----|
|
|
248
|
-
| `gt` | `grid-template` | — |
|
|
249
|
-
| `gta` | `grid-template-areas` | — |
|
|
250
|
-
| `gtc` | `grid-template-columns` | `-gtc:subgrid` |
|
|
251
|
-
| `gtr` | `grid-template-rows` | `-gtr:subgrid` |
|
|
252
|
-
| `gaf` | `grid-auto-flow` | `-gaf:row`, `-gaf:column` |
|
|
248
|
+
| `gt` | `grid-template` | — | ✔ |
|
|
249
|
+
| `gta` | `grid-template-areas` | — | ✔ lg |
|
|
250
|
+
| `gtc` | `grid-template-columns` | `-gtc:subgrid` | ✔ lg |
|
|
251
|
+
| `gtr` | `grid-template-rows` | `-gtr:subgrid` | ✔ lg |
|
|
252
|
+
| `gaf` | `grid-auto-flow` | `-gaf:row`, `-gaf:column` | ✔ |
|
|
253
253
|
| `gac` | `grid-auto-columns` | — | — |
|
|
254
254
|
| `gar` | `grid-auto-rows` | — | — |
|
|
255
|
-
| `cols` | `--cols` 変数 | — |
|
|
256
|
-
| `rows` | `--rows` 変数 | — |
|
|
255
|
+
| `cols` | `--cols` 変数 | — | ✔ lg |
|
|
256
|
+
| `rows` | `--rows` 変数 | — | ✔ |
|
|
257
257
|
|
|
258
258
|
### Grid アイテム
|
|
259
259
|
|
|
260
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
260
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
261
261
|
|------|--------------|-------------|-----|
|
|
262
|
-
| `ga` | `grid-area` | `-ga:1/1` |
|
|
263
|
-
| `gc` | `grid-column` | `-gc:1/-1` |
|
|
264
|
-
| `gr` | `grid-row` | `-gr:1/-1` |
|
|
262
|
+
| `ga` | `grid-area` | `-ga:1/1` | ✔ lg |
|
|
263
|
+
| `gc` | `grid-column` | `-gc:1/-1` | ✔ lg |
|
|
264
|
+
| `gr` | `grid-row` | `-gr:1/-1` | ✔ lg |
|
|
265
265
|
| `gcs` | `grid-column-start` | — | — |
|
|
266
266
|
| `gce` | `grid-column-end` | — | — |
|
|
267
267
|
| `grs` | `grid-row-start` | — | — |
|
|
@@ -269,12 +269,12 @@ SPACE トークン(全値): `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `
|
|
|
269
269
|
|
|
270
270
|
### 配置(Places)
|
|
271
271
|
|
|
272
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
272
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
273
273
|
|------|--------------|-------------|-----|
|
|
274
|
-
| `ai` | `align-items` | `-ai:start`, `-ai:center`, `-ai:end`, `-ai:stretch`, `-ai:flex-start`, `-ai:flex-end` |
|
|
275
|
-
| `ac` | `align-content` | `-ac:start`, `-ac:center`, `-ac:end`, `-ac:flex-start`, `-ac:flex-end`, `-ac:between` |
|
|
276
|
-
| `ji` | `justify-items` | `-ji:start`, `-ji:center`, `-ji:end`, `-ji:stretch`, `-ji:flex-start`, `-ji:flex-end` |
|
|
277
|
-
| `jc` | `justify-content` | `-jc:start`, `-jc:center`, `-jc:end`, `-jc:flex-start`, `-jc:flex-end`, `-jc:between` |
|
|
274
|
+
| `ai` | `align-items` | `-ai:start`, `-ai:center`, `-ai:end`, `-ai:stretch`, `-ai:flex-start`, `-ai:flex-end` | ✔ |
|
|
275
|
+
| `ac` | `align-content` | `-ac:start`, `-ac:center`, `-ac:end`, `-ac:flex-start`, `-ac:flex-end`, `-ac:between` | ✔ |
|
|
276
|
+
| `ji` | `justify-items` | `-ji:start`, `-ji:center`, `-ji:end`, `-ji:stretch`, `-ji:flex-start`, `-ji:flex-end` | ✔ |
|
|
277
|
+
| `jc` | `justify-content` | `-jc:start`, `-jc:center`, `-jc:end`, `-jc:flex-start`, `-jc:flex-end`, `-jc:between` | ✔ |
|
|
278
278
|
| `pi` | `place-items` | `-pi:start`, `-pi:center`, `-pi:end` | — |
|
|
279
279
|
| `pc` | `place-content` | `-pc:start`, `-pc:center`, `-pc:end` | — |
|
|
280
280
|
| `aslf` | `align-self` | `-aslf:start`, `-aslf:center`, `-aslf:end`, `-aslf:stretch` | — |
|
|
@@ -294,10 +294,10 @@ Lism CSS のボーダーは CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理
|
|
|
294
294
|
|
|
295
295
|
| Prop | CSS プロパティ / 変数 | 主なクラス |
|
|
296
296
|
|------|-----------------------|------------|
|
|
297
|
-
| `bd` | `border`(変数管理を有効化) | `-bd`, `-bd-{x\|y\|
|
|
297
|
+
| `bd` | `border`(変数管理を有効化) | `-bd`, `-bd-{x\|y\|s\|e\|bs\|be\|t\|b\|l\|r}`, `-bd:none` |
|
|
298
298
|
| `bds` | `--bds` | `-bds:dashed`, `-bds:dotted`, `-bds:double` |
|
|
299
299
|
| `bdc` | `--bdc` | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` |
|
|
300
|
-
| `bdw` | `--bdw` | BP クラス:
|
|
300
|
+
| `bdw` | `--bdw` | BP クラス: ✔(`-bdw_sm` / `-bdw_md`) |
|
|
301
301
|
|
|
302
302
|
→ 詳細(方向ごとのスタイル指定、BP での方向切り替え等)は [property-class/bd.md](./property-class/bd.md) 参照
|
|
303
303
|
|
|
@@ -311,7 +311,7 @@ Lism CSS のボーダーは CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理
|
|
|
311
311
|
| `-hov:{preset}` | hover 時のスタイルをプリセットで適用 | `:hover`(同上) |
|
|
312
312
|
| `-hov:in:{preset}` | 親の `set--var:hov` を起点に子のスタイルを変化させる | 親に `set--var:hov` が必要 |
|
|
313
313
|
|
|
314
|
-
|
|
314
|
+
**標準クラス:** `-hov:-c`, `-hov:-bgc`, `-hov:-bdc`, `-hov:-o`, `-hov:-bxsh`, `-hov:underline`, `-hov:in:hide`, `-hov:in:show`, `-hov:in:zoom`
|
|
315
315
|
|
|
316
316
|
**`<Lism>` の `hov` prop:** 文字列指定(`hov="-c"` → `-hov:-c`。自動変換なし、カンマ区切りで複数可)とオブジェクト指定(`hov={{ c: 'red' }}` → `-hov:-c` + `--hov-c: var(--red)`。値 `true` でクラスのみ出力)が可能。
|
|
317
317
|
|
|
@@ -319,14 +319,14 @@ Lism CSS のボーダーは CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理
|
|
|
319
319
|
|
|
320
320
|
## その他
|
|
321
321
|
|
|
322
|
-
| Prop | CSS プロパティ | プリセット値クラス | BP
|
|
322
|
+
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
323
323
|
|------|--------------|-------------|-----|
|
|
324
324
|
| `ovw` | `overflow-wrap` | `-ovw:anywhere` | — |
|
|
325
325
|
| `whs` | `white-space` | `-whs:nowrap` | — |
|
|
326
326
|
| `float` | `float` | `-float:left`, `-float:right` | — |
|
|
327
327
|
| `clear` | `clear` | `-clear:both` | — |
|
|
328
328
|
| `iso` | `isolation` | `-iso:isolate` | — |
|
|
329
|
-
| `wm` | `writing-mode` | `-wm:vertical-rl` |
|
|
329
|
+
| `wm` | `writing-mode` | `-wm:vertical-rl` | ✔ |
|
|
330
330
|
|
|
331
331
|
|
|
332
332
|
## 値の省略形(例外一覧)
|
|
@@ -374,5 +374,3 @@ Property Class をコードベース全体で一括修正する場合、同じ P
|
|
|
374
374
|
| HTML / className — BP対応・カスタム値 | `-p` / `-p_sm` / `-p_md` |
|
|
375
375
|
| JSX Props | `p="20"` / `p={20}` / `p={[20, 30]}` |
|
|
376
376
|
| getLismProps オブジェクト | `{ p: '20' }` / `{ p: 20 }` |
|
|
377
|
-
|
|
378
|
-
|
|
@@ -1,20 +1,55 @@
|
|
|
1
1
|
# レスポンシブ対応
|
|
2
2
|
|
|
3
|
-
Lism CSS
|
|
4
|
-
ブレークポイント: `sm: 480px`, `md: 800px`(`lg: 1120px` はカスタマイズにより利用可能)
|
|
3
|
+
Lism CSS は**コンテナクエリ**をデフォルトで採用しています(メディアクエリへの切り替えは customize.md を参照)。
|
|
5
4
|
|
|
6
5
|
## TOC
|
|
7
6
|
|
|
7
|
+
- [ブレイクポイント](#ブレイクポイント)
|
|
8
8
|
- [HTML / Property Class での指定](#html--property-class-での指定)
|
|
9
9
|
- [Lism コンポーネントでの指定](#lism-コンポーネントでの指定)
|
|
10
10
|
|
|
11
|
-
[詳細](https://lism-css.com/docs/responsive
|
|
11
|
+
[詳細](https://lism-css.com/docs/responsive/)
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
+
## ブレイクポイント
|
|
16
|
+
|
|
17
|
+
**モバイルファースト**で定義。各ラベルは「**そのサイズを超えた時から効く**」セマンティクスです(`sm` は「スマホ専用」ではなく「`sm` を超えたサイズで効く」ラベル)。**特定デバイスサイズに依存しないシンプルな閾値**を採用しています。
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Smartphone ──┬── Tablet (Portrait) ──┬── Tablet (Landscape) ──┬── Laptop and up
|
|
21
|
+
│ │ │
|
|
22
|
+
sm:480px md:800px (lg:1120px)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
| BP | 値 | 効くタイミング |
|
|
26
|
+
|----|-----|----------------|
|
|
27
|
+
| `sm` | 480px | sm 以上 |
|
|
28
|
+
| `md` | 800px | md 以上 |
|
|
29
|
+
| (`lg`) | 1120px | lg 以上 |
|
|
30
|
+
|
|
31
|
+
**レスポンシブ対応の Property Class は、基本的に標準では `sm` / `md` まで対応。** ただし `d`(display)/ `g`(gap)/ `cols` / グリッド系(`gta` `gtc` `gtr` `ga` `gc` `gr`)など、大枠のレイアウト構造に関わる一部のプロパティは `lg` まで対応。それ以外のプロパティで `lg` 以降を使う場合は customize.md 参照の SCSS カスタマイズが必要です。
|
|
32
|
+
|
|
33
|
+
例: `-d:none -d_sm:block` → デフォルト非表示、`sm` 以上で表示。
|
|
34
|
+
|
|
35
|
+
### SCSS から利用する
|
|
36
|
+
|
|
37
|
+
ブレイクポイント自体を SCSS で参照する場合は `query` モジュール経由:
|
|
38
|
+
|
|
39
|
+
```scss
|
|
40
|
+
@use 'lism-css/scss/query' as query;
|
|
41
|
+
|
|
42
|
+
@include query.bp-up('sm') {
|
|
43
|
+
// sm 以上で効くスタイル(width >= 480px)
|
|
44
|
+
}
|
|
45
|
+
@include query.bp-up('md') {
|
|
46
|
+
// md 以上で効くスタイル(width >= 800px)
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
15
50
|
## HTML / Property Class での指定
|
|
16
51
|
|
|
17
|
-
|
|
52
|
+
ブレイクポイント用のクラス `-{prop}_{bp}` と CSS変数 `--{prop}_{bp}` を組み合わせます。
|
|
18
53
|
|
|
19
54
|
```html
|
|
20
55
|
<!-- sm 以上で p:30, md 以上で p:40 に切り替え -->
|
|
@@ -30,6 +65,7 @@ Lism CSS はコンテナクエリをデフォルトで採用しています。
|
|
|
30
65
|
|
|
31
66
|
**仕組み:**
|
|
32
67
|
- BPクラス `-{prop}_{bp}` は `@container (min-width: ...)` 内で発火し、`--{prop}_{bp}` 変数で切り替え先の値を指定
|
|
68
|
+
- コンテナクエリ採用のため、レスポンシブ値を使うには祖先要素に `is--container` などコンテナ宣言が必要
|
|
33
69
|
- 出力形式はプロパティによって 2 パターン(基本 / 例外)
|
|
34
70
|
|
|
35
71
|
**基本パターン** — BP 用変数を直接読む:
|
|
@@ -10,9 +10,9 @@ set-- は目的別に 2 カテゴリに分かれます。
|
|
|
10
10
|
| カテゴリ | 用途 | クラス |
|
|
11
11
|
|---------|------|--------|
|
|
12
12
|
| 基礎スタイリング | HTML 要素のリセット/リバート | `set--plain` / `set--revert` |
|
|
13
|
-
| 変数のセット | CSS 変数のセットアップのみを行う | `set--var:bxsh` / `set--var:hov` / `set--var:bdrsInner` |
|
|
13
|
+
| 変数のセット | CSS 変数のセットアップのみを行う | `set--var:bxsh` / `set--var:hov` / `set--var:bdrsInner` / `set--var:s` |
|
|
14
14
|
|
|
15
|
-
`set--var:{name}` の `{name}` は、そのクラスがセットアップする CSS 変数の名称に対応します(例: `--bxsh--*` → `var:bxsh`、`--_isHov` / `--_notHov` → `var:hov`、`--bdrs--inner` → `var:bdrsInner`)。
|
|
15
|
+
`set--var:{name}` の `{name}` は、そのクラスがセットアップする CSS 変数の名称に対応します(例: `--bxsh--*` → `var:bxsh`、`--_isHov` / `--_notHov` → `var:hov`、`--bdrs--inner` → `var:bdrsInner`、`--s*` → `var:s`)。
|
|
16
16
|
|
|
17
17
|
## TOC
|
|
18
18
|
|
|
@@ -21,6 +21,7 @@ set-- は目的別に 2 カテゴリに分かれます。
|
|
|
21
21
|
- [`set--var:bxsh`](#set--varbxsh)
|
|
22
22
|
- [`set--var:hov`](#set--varhov)
|
|
23
23
|
- [`set--var:bdrsInner`](#set--varbdrsinner)
|
|
24
|
+
- [`set--var:s`](#set--vars)
|
|
24
25
|
|
|
25
26
|
[詳細](https://lism-css.com/docs/set-class.md)
|
|
26
27
|
|
|
@@ -37,6 +38,7 @@ set-- は目的別に 2 カテゴリに分かれます。
|
|
|
37
38
|
| `set--var:bxsh` | [`_shadow.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_shadow.scss) |
|
|
38
39
|
| `set--var:hov` | [`_hov.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_hov.scss) |
|
|
39
40
|
| `set--var:bdrsInner` | [`_bdrsInner.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_bdrsInner.scss) |
|
|
41
|
+
| `set--var:s` | [`_space.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_space.scss) |
|
|
40
42
|
|
|
41
43
|
---
|
|
42
44
|
|
|
@@ -158,3 +160,20 @@ Lism CSSでは、クラスを持つリスト(`ul` / `ol`)ではスタイル
|
|
|
158
160
|
<Lism bdrs="inner">...</Lism>
|
|
159
161
|
</Lism>
|
|
160
162
|
```
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
## `set--var:s`
|
|
166
|
+
|
|
167
|
+
余白トークン(`--s5`〜`--s80`)を現在のフォントサイズ基準で再計算するためのクラスです。ButtonやBadgeなど、内部余白を要素自身のfont-sizeに追従させたい時に利用します。
|
|
168
|
+
|
|
169
|
+
詳細なスケールと使い方は[tokens.mdの`set--var:s`ユーティリティ](./tokens.md#set--vars-ユーティリティ)を参照してください。
|
|
170
|
+
|
|
171
|
+
使用例:
|
|
172
|
+
|
|
173
|
+
```html
|
|
174
|
+
<button class="set--var:s -fz:s -py:10 -px:20">...</button>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
```jsx
|
|
178
|
+
<Button set="var:s" fz="s" py="10" px="20">...</Button>
|
|
179
|
+
```
|
|
@@ -17,6 +17,8 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
17
17
|
- [透明度 (o)](#透明度-o)
|
|
18
18
|
- [角丸 (bdrs)](#角丸-bdrs)
|
|
19
19
|
- [影 (bxsh)](#影-bxsh)
|
|
20
|
+
- [フロー余白 (flow)](#フロー余白-flow)
|
|
21
|
+
- [ガターサイズ (gutter-size)](#ガターサイズ-gutter-size)
|
|
20
22
|
- [カラー](#カラー)
|
|
21
23
|
- [トークン値の命名規則](#トークン値の命名規則)
|
|
22
24
|
|
|
@@ -28,7 +30,7 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
28
30
|
|
|
29
31
|
| カテゴリ | トークン値 | CSS変数パターン | 例 |
|
|
30
32
|
|---|---|---|---|
|
|
31
|
-
| 余白 (space) | `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `70`, `80` | `--s{N}` | `--s20` |
|
|
33
|
+
| 余白 (space) | `5`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `50`, `60`, `70`, `80` | `--s{N}` | `--s20` |
|
|
32
34
|
| フォントサイズ (fz) | `root`, `base`, `2xs`, `xs`, `s`, `m`, `l`, `xl`, `2xl`, `3xl`, `4xl`, `5xl` | `--fz--{key}` | `--fz--l` |
|
|
33
35
|
| ハーフレディング・行間 (lh/hl) | `base`, `xs`, `s`, `l` | `--hl--{key}` | `--hl--s` |
|
|
34
36
|
| 字間 (lts) | `base`, `s`, `l`, `xl` | `--lts--{key}` | `--lts--s` |
|
|
@@ -39,8 +41,8 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
39
41
|
| 影 (bxsh) | `10`, `20`, `30`, `40`, `50` | `--bxsh--{N}` | `--bxsh--20` |
|
|
40
42
|
| サイズ (sz) | `xs`, `s`, `m`, `l`, `xl`, `bleed` | `--sz--{key}` | `--sz--l` |
|
|
41
43
|
| アスペクト比 (ar) | `og` | `--ar--{key}` | `--ar--og` |
|
|
42
|
-
| フロー余白 (flow) | `
|
|
43
|
-
| セマンティックカラー (c) | `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent` | `--{name}` | `--brand` |
|
|
44
|
+
| フロー余白 (flow) | `base`, `s` | `--flow--{key}` | `--flow--base` |
|
|
45
|
+
| セマンティックカラー (c) | `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent`, `neutral` | `--{name}` | `--brand` |
|
|
44
46
|
| パレットカラー (palette) | `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `gray`, `white`, `black` | `--{name}` | `--red` |
|
|
45
47
|
|
|
46
48
|
|
|
@@ -49,22 +51,39 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
49
51
|
|
|
50
52
|
## 余白 (space)
|
|
51
53
|
|
|
52
|
-
フィボナッチ数列ベースのスケーリング。`--s-unit
|
|
54
|
+
フィボナッチ数列ベースのスケーリング。`--s-unit`(デフォルト `calc(var(--fz--base) * 0.5)` = ≒ 8px)を基準単位とする。
|
|
53
55
|
|
|
54
56
|
| CSS変数 | 値 | 実サイズ目安 |
|
|
55
57
|
|---------|-----|------------|
|
|
56
|
-
| `--s5` | `calc(
|
|
58
|
+
| `--s5` | `calc(var(--s-unit) * 0.5)` | ≒ 4px |
|
|
57
59
|
| `--s10` | `var(--s-unit)` | ≒ 8px |
|
|
58
|
-
| `--s15` | `calc(
|
|
59
|
-
| `--s20` | `calc(
|
|
60
|
-
| `--
|
|
61
|
-
| `--
|
|
62
|
-
| `--
|
|
63
|
-
| `--
|
|
64
|
-
| `--
|
|
65
|
-
| `--
|
|
60
|
+
| `--s15` | `calc(var(--s-unit) * 1.5)` | ≒ 12px |
|
|
61
|
+
| `--s20` | `calc(var(--s-unit) * 2)` | ≒ 16px |
|
|
62
|
+
| `--s25` | `calc(var(--s-unit) * 2.5)` | ≒ 20px |
|
|
63
|
+
| `--s30` | `calc(var(--s-unit) * 3)` | ≒ 24px |
|
|
64
|
+
| `--s35` | `calc(var(--s-unit) * 4)` | ≒ 32px |
|
|
65
|
+
| `--s40` | `calc(var(--s-unit) * 5)` | ≒ 40px |
|
|
66
|
+
| `--s50` | `calc(var(--s-unit) * 8)` | ≒ 64px |
|
|
67
|
+
| `--s60` | `calc(var(--s-unit) * 13)` | ≒ 104px |
|
|
68
|
+
| `--s70` | `calc(var(--s-unit) * 21)` | ≒ 168px |
|
|
69
|
+
| `--s80` | `calc(var(--s-unit) * 34)` | ≒ 272px |
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
`--s40` 以降の主軸は係数 `1, 2, 3, 5, 8, 13, 21, 34`(フィボナッチ数列)に基づく。`--s5`〜`--s35` の前半部分は、主軸トークン間を補う中間値(4px / 12px / 20px / 32px 相当)として配置している。`--s-unit` を上書きするとスケール全体を比例的に調整できる。
|
|
72
|
+
|
|
73
|
+
### `set--var:s` ユーティリティ
|
|
74
|
+
|
|
75
|
+
`set--var:s` クラスを当てた要素のスコープ内では `--s-unit` が `0.5em` に切り替わり、`--s10`〜`--s80` が現在のフォントサイズ基準で再計算される。Button / Badge / インライン要素など、内部余白をフォントサイズに追従させたい部品で使う。
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<!-- ボタンの padding が button 自身の font-size に追従する -->
|
|
79
|
+
<button class="set--var:s -fz:s -py:10 -px:20">...</button>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
`--s-unit` を任意値で上書きすれば、別の基準にも切り替えられる。
|
|
83
|
+
|
|
84
|
+
```html
|
|
85
|
+
<button class="set--var:s -p:10" style="--s-unit: .4375em">...</button>
|
|
86
|
+
```
|
|
68
87
|
|
|
69
88
|
|
|
70
89
|
## フォントサイズ (fz)
|
|
@@ -177,6 +196,31 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
177
196
|
| `--shsz--50` | `0px 16px 48px` |
|
|
178
197
|
|
|
179
198
|
|
|
199
|
+
## フロー余白 (flow)
|
|
200
|
+
|
|
201
|
+
`l--flow` のコンテンツ間余白に使われるトークン。`:root` で定義されている。
|
|
202
|
+
|
|
203
|
+
| CSS変数 | 値 | 説明 |
|
|
204
|
+
|---------|-----|------|
|
|
205
|
+
| `--flow--base` | `var(--s30)`(`lang="ja"` 時は `var(--s35)`) | `l--flow` の基準余白 |
|
|
206
|
+
| `--flow--s` | `var(--s20)` | `-flow:s` で適用される小さめの余白 |
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
## ガターサイズ (gutter-size)
|
|
210
|
+
|
|
211
|
+
サイト全体のガター(左右余白)量を定義するルート変数。トークン体系ではなく単一の設定値で、上書きするとガター関連の挙動が一括で変わる。
|
|
212
|
+
|
|
213
|
+
| CSS変数 | 値 | 説明 |
|
|
214
|
+
|---------|-----|------|
|
|
215
|
+
| `--gutter-size` | `var(--s30)` | ガターの基準量 |
|
|
216
|
+
|
|
217
|
+
参照される主な箇所:
|
|
218
|
+
|
|
219
|
+
- `has--gutter` の `padding-inline`
|
|
220
|
+
- `is--container` の `--sz--bleed` 計算(`100cqi + var(--gutter-size) * 2`)
|
|
221
|
+
- `-max-sz:full` の負 margin による hang 拡張
|
|
222
|
+
|
|
223
|
+
|
|
180
224
|
## カラー
|
|
181
225
|
|
|
182
226
|
### セマンティックカラー
|
|
@@ -193,21 +237,22 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
193
237
|
| `--link` | `oklch(50% 0.3 240)` | リンク色 |
|
|
194
238
|
| `--brand` | `#1e5f8c` | ブランド色 |
|
|
195
239
|
| `--accent` | `#d94a6a` | アクセント色 |
|
|
240
|
+
| `--neutral` | `hsl(220, 2%, 80%)` | hover 背景などの生成に使う中立的な補助色 |
|
|
196
241
|
|
|
197
242
|
### パレットカラー
|
|
198
243
|
|
|
199
|
-
OKLCH で定義されたカラーパレット。`--L`(明度)と `--C`(彩度)の基準値を調整するとパレット全体の色味を変更可能。デフォルト: `--L: 60%`, `--C: 0.
|
|
244
|
+
OKLCH で定義されたカラーパレット。`--L`(明度)と `--C`(彩度)の基準値を調整するとパレット全体の色味を変更可能。デフォルト: `--L: 60%`, `--C: 0.2`。
|
|
200
245
|
|
|
201
246
|
| CSS変数 | 値 |
|
|
202
247
|
|---------|-----|
|
|
203
248
|
| `--red` | `oklch(var(--L) var(--C) 20)` |
|
|
204
|
-
| `--orange` | `oklch(calc(var(--L) +
|
|
205
|
-
| `--yellow` | `oklch(calc(var(--L) + 12%) calc(var(--C) - 0.
|
|
206
|
-
| `--green` | `oklch(calc(var(--L) + 4%) calc(var(--C) - 0.
|
|
207
|
-
| `--blue` | `oklch(calc(var(--L) -
|
|
208
|
-
| `--purple` | `oklch(calc(var(--L) - 4%) calc(var(--C) + 0.
|
|
209
|
-
| `--pink` | `oklch(calc(var(--L) + 2%) calc(var(--C) + 0.
|
|
210
|
-
| `--gray` | `oklch(calc(var(--L) - 4%)
|
|
249
|
+
| `--orange` | `oklch(calc(var(--L) + 6%) calc(var(--C) - 0.01) 48)` |
|
|
250
|
+
| `--yellow` | `oklch(calc(var(--L) + 12%) calc(var(--C) - 0.02) 80)` |
|
|
251
|
+
| `--green` | `oklch(calc(var(--L) + 4%) calc(var(--C) - 0.01) 152)` |
|
|
252
|
+
| `--blue` | `oklch(calc(var(--L) - 4%) calc(var(--C) + 0.01) 264)` |
|
|
253
|
+
| `--purple` | `oklch(calc(var(--L) - 4%) calc(var(--C) + 0.01) 288)` |
|
|
254
|
+
| `--pink` | `oklch(calc(var(--L) + 2%) calc(var(--C) + 0.01) 352)` |
|
|
255
|
+
| `--gray` | `oklch(calc(var(--L) - 4%) calc(var(--C) / 10) 240)` |
|
|
211
256
|
| `--black` | `#000` |
|
|
212
257
|
| `--white` | `#fff` |
|
|
213
258
|
|
|
@@ -28,8 +28,8 @@ BoxLink には主に2通りの使い方があります。
|
|
|
28
28
|
```jsx
|
|
29
29
|
<BoxLink href="/article/1" p="30" bgc="base" bd bdrs="30" hov="-o">
|
|
30
30
|
<Group fz="xl" fw="bold">Heading text</Group>
|
|
31
|
-
<Text lh="s"
|
|
32
|
-
<Group fz="s" c="text-2" ta="right" lh="1"
|
|
31
|
+
<Text lh="s" mbs="15">記事の抜粋テキスト...</Text>
|
|
32
|
+
<Group fz="s" c="text-2" ta="right" lh="1" mbs="10">
|
|
33
33
|
MORE →
|
|
34
34
|
</Group>
|
|
35
35
|
</BoxLink>
|
|
@@ -38,8 +38,8 @@ BoxLink には主に2通りの使い方があります。
|
|
|
38
38
|
```html
|
|
39
39
|
<a class="is--boxLink -hov:-o -p:30 -bgc:base -bd -bdrs:30" href="/article/1">
|
|
40
40
|
<p class="-fz:xl -fw:bold">Heading text</p>
|
|
41
|
-
<p class="-c:text-2 -lh:s -
|
|
42
|
-
<p class="-fz:s -c:text-2 -ta:right -lh:1 -
|
|
41
|
+
<p class="-c:text-2 -lh:s -mbs:15">記事の抜粋テキスト...</p>
|
|
42
|
+
<p class="-fz:s -c:text-2 -ta:right -lh:1 -mbs:10">MORE →</p>
|
|
43
43
|
</a>
|
|
44
44
|
```
|
|
45
45
|
|
|
@@ -54,8 +54,8 @@ BoxLink には主に2通りの使い方があります。
|
|
|
54
54
|
Heading link text
|
|
55
55
|
</Link>
|
|
56
56
|
</Group>
|
|
57
|
-
<Text c="text-2" lh="s"
|
|
58
|
-
<Group
|
|
57
|
+
<Text c="text-2" lh="s" mbs="15">記事の抜粋テキスト...</Text>
|
|
58
|
+
<Group mbs="10">
|
|
59
59
|
<a href="/tag/foo" className="-hov:-o">Inner Link</a>
|
|
60
60
|
</Group>
|
|
61
61
|
</BoxLink>
|
|
@@ -66,8 +66,8 @@ BoxLink には主に2通りの使い方があります。
|
|
|
66
66
|
<div class="-fz:xl -fw:bold">
|
|
67
67
|
<a class="is--coverLink" href="/article/1">Heading link text</a>
|
|
68
68
|
</div>
|
|
69
|
-
<p class="-c:text-2 -lh:s -
|
|
70
|
-
<div class="-
|
|
69
|
+
<p class="-c:text-2 -lh:s -mbs:15">記事の抜粋テキスト...</p>
|
|
70
|
+
<div class="-mbs:10">
|
|
71
71
|
<a href="/tag/foo" class="-hov:-o">Inner Link</a>
|
|
72
72
|
</div>
|
|
73
73
|
</div>
|
package/dist/data/meta.js
CHANGED
package/dist/tools/get-guide.js
CHANGED
|
@@ -21,7 +21,7 @@ const GUIDE_TOPICS = {
|
|
|
21
21
|
},
|
|
22
22
|
'utility-class': { file: 'utility-class.md', label: 'Utility classes (u--trim, u--cbox, etc.)' },
|
|
23
23
|
'css-rules': { file: 'css-rules.md', label: 'CSS methodology, layer structure, naming conventions' },
|
|
24
|
-
responsive: { file: '
|
|
24
|
+
responsive: { file: 'responsive.md', label: 'Responsive design, breakpoints, container queries' },
|
|
25
25
|
antipatterns: {
|
|
26
26
|
file: 'antipatterns.md',
|
|
27
27
|
label: 'AI code-generation antipatterns: token typos, prop type mistakes, layout choice errors, responsive omissions',
|
|
@@ -3,14 +3,14 @@ import { extractSection } from '../lib/markdown-utils.js';
|
|
|
3
3
|
import { markdownResponse, error, READ_ONLY_ANNOTATIONS } from '../lib/response.js';
|
|
4
4
|
/**
|
|
5
5
|
* SKILL.md を中核に、css-rules.md の Layer 構造セクションと
|
|
6
|
-
*
|
|
6
|
+
* responsive.md のブレイクポイントセクションを付加して返す。
|
|
7
7
|
*/
|
|
8
8
|
function buildOverviewMarkdown() {
|
|
9
9
|
const skill = loadMarkdown('SKILL.md');
|
|
10
10
|
const cssRules = loadMarkdown('css-rules.md');
|
|
11
|
-
const responsive = loadMarkdown('
|
|
11
|
+
const responsive = loadMarkdown('responsive.md');
|
|
12
12
|
const layerSection = extractSection(cssRules, 'CSS Layer 構造');
|
|
13
|
-
const bpSection = extractSection(responsive, '
|
|
13
|
+
const bpSection = extractSection(responsive, 'ブレイクポイント');
|
|
14
14
|
const parts = [skill];
|
|
15
15
|
if (layerSection) {
|
|
16
16
|
parts.push('\n---\n');
|