@lism-css/mcp 0.20.0 → 0.22.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 +659 -139
- package/dist/data/guides/SKILL.md +1 -1
- package/dist/data/guides/base-styles.md +8 -13
- package/dist/data/guides/components-core.md +7 -7
- package/dist/data/guides/css-rules.md +3 -3
- package/dist/data/guides/naming.md +2 -2
- package/dist/data/guides/primitive-class.md +2 -2
- package/dist/data/guides/primitives/l--autoColumns.md +8 -8
- package/dist/data/guides/property-class/hov.md +7 -7
- package/dist/data/guides/property-class/max-sz.md +2 -2
- package/dist/data/guides/property-class.md +9 -4
- package/dist/data/guides/set-class.md +64 -27
- package/dist/data/guides/tokens.md +15 -14
- package/dist/data/guides/trait-class/has--gutter.md +20 -4
- package/dist/data/guides/trait-class/has--transition.md +1 -1
- package/dist/data/guides/trait-class/is--container.md +1 -1
- package/dist/data/guides/trait-class/is--wrapper.md +3 -1
- package/dist/data/guides/trait-class.md +2 -2
- package/dist/data/guides/utility-class.md +1 -1
- package/dist/data/meta.js +2 -2
- package/dist/tools/get-guide.js +1 -1
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ description: "Lism CSS の設計・実装に関するガイド。CSSの編集・
|
|
|
9
9
|
|
|
10
10
|
調和と統一感を生み出すデザイントークン設計、`@layer`で管理されるプリミティブ設計、CSS変数を活かした柔軟でレスポンシブなユーティリティ設計が特徴です。
|
|
11
11
|
|
|
12
|
-
> **バージョン情報:** このガイドは `lism-css@0.
|
|
12
|
+
> **バージョン情報:** このガイドは `lism-css@0.22.0` / `@lism-css/ui@0.22.0` 時点の情報に基づいています。プロジェクトで使用中のバージョンを確認し、このガイドのバージョンと異なる場合はユーザーに通知してください。
|
|
13
13
|
|
|
14
14
|
公式ドキュメント: https://lism-css.com/docs/overview.md
|
|
15
15
|
|
|
@@ -49,7 +49,8 @@ Reset CSS に加え、`@layer lism-base` 内で HTML タグに基本スタイル
|
|
|
49
49
|
| `--lts--base` | ベース字間 |
|
|
50
50
|
| `--text` | テキスト色 |
|
|
51
51
|
| `--base` | 背景色 |
|
|
52
|
-
|
|
52
|
+
|
|
53
|
+
加えて `text-underline-offset: 0.125em`(リンク下線位置)と `tab-size: 4`(タブ文字の表示幅)が直接指定されている。
|
|
53
54
|
|
|
54
55
|
### 見出し(h1〜h6)
|
|
55
56
|
|
|
@@ -75,20 +76,13 @@ class を持たない `ul` / `ol` のみブラウザ標準スタイルが自動
|
|
|
75
76
|
|------|------------|------|
|
|
76
77
|
| `--list-ps` | `1.75em` | リストの `padding-inline-start` |
|
|
77
78
|
|
|
78
|
-
### テーブル(
|
|
79
|
+
### テーブル(td, th)
|
|
79
80
|
|
|
80
81
|
| 変数 | フォールバック | 用途 |
|
|
81
82
|
|------|------------|------|
|
|
82
|
-
| `--
|
|
83
|
-
| `--td-bgc` | `transparent` | セルの背景色 |
|
|
84
|
-
| `--td-p` | `var(--s10) var(--s15)` | セルのパディング |
|
|
85
|
-
| `--td-min-sz` | `initial` | セルの最小幅 |
|
|
86
|
-
| `--th-c` | `var(--td-c)` | 見出しセルのテキスト色 |
|
|
87
|
-
| `--th-bgc` | `var(--td-bgc)` | 見出しセルの背景色 |
|
|
88
|
-
| `--th-p` | `var(--td-p)` | 見出しセルのパディング |
|
|
89
|
-
| `--th-min-sz` | `var(--td-min-sz)` | 見出しセルの最小幅 |
|
|
83
|
+
| `--cells-p` | `0.625em 0.875em` | セルのパディング |
|
|
90
84
|
|
|
91
|
-
`
|
|
85
|
+
`td` と `th` の両方に `--cells-p` が適用される。色や最小幅などのカスタマイズは必要な要素にスタイルを直接当てる。
|
|
92
86
|
|
|
93
87
|
### フォーム要素
|
|
94
88
|
|
|
@@ -96,8 +90,9 @@ class を持たない `ul` / `ol` のみブラウザ標準スタイルが自動
|
|
|
96
90
|
|------|------------|------|
|
|
97
91
|
| `--controls-bgc` | `var(--base-2)` | 背景色 |
|
|
98
92
|
| `--controls-bdc` | `var(--divider)` | ボーダー色 |
|
|
99
|
-
| `--controls-p` | `
|
|
100
|
-
|
|
93
|
+
| `--controls-p` | `0.25em 0.5em` | パディング |
|
|
94
|
+
|
|
95
|
+
角丸はブラウザのデフォルトに委ねている。テーマで丸めたい場合は各セレクタに `border-radius` を直接指定する。
|
|
101
96
|
|
|
102
97
|
### その他
|
|
103
98
|
|
|
@@ -53,7 +53,7 @@ import { Lism, Box, Flex, Stack, Grid, Text, Media } from 'lism-css/astro';
|
|
|
53
53
|
| `as` | レンダリングする HTML 要素または外部コンポーネントを指定(デフォルト: `"div"`) | `as="section"`, `as={Image}` |
|
|
54
54
|
| `layout` | レイアウトプリミティブ(`l--{layout}`)を指定 | `layout="flow"` |
|
|
55
55
|
| `atomic` | アトミックプリミティブ(`a--{atomic}`)を指定。`'divider'` / `'spacer'` / `'decorator'` が利用可能(`'icon'` は内部用) | `atomic="divider"` |
|
|
56
|
-
| `set` | セットクラス(`set--{value}`)を指定。スペース区切りで複数指定可。値の先頭に `-` を付けると除外 | `set="plain"`, `set="
|
|
56
|
+
| `set` | セットクラス(`set--{value}`)を指定。スペース区切りで複数指定可。値の先頭に `-` を付けると除外 | `set="plain"`, `set="hov bxsh"`, `set="-plain"` |
|
|
57
57
|
| `util` | ユーティリティクラス(`u--{value}`)を指定。`set` と同様に複数指定・`-` prefix 除外が可能 | `util="cbox"`, `util="cbox trim"`, `util="-trim"` |
|
|
58
58
|
| `exProps` | Lism Propsの処理をスキップして外部コンポーネントに直接渡すpropsオブジェクト | `exProps={{ size: '1em' }}` |
|
|
59
59
|
|
|
@@ -79,12 +79,12 @@ import { Lism, Box, Flex, Stack, Grid, Text, Media } from 'lism-css/astro';
|
|
|
79
79
|
// → p, fz は Lism が処理、size は HogeIcon に直接渡される
|
|
80
80
|
|
|
81
81
|
// set でセットクラスを付与(layout と同じ要領)
|
|
82
|
-
<Box set="
|
|
83
|
-
// → <div class="l--box set--
|
|
82
|
+
<Box set="bxsh" p="30">...</Box>
|
|
83
|
+
// → <div class="l--box set--bxsh -p:30">...</div>
|
|
84
84
|
|
|
85
85
|
// set を複数指定(スペース区切り)
|
|
86
|
-
<Stack set="
|
|
87
|
-
// → <div class="l--stack set--
|
|
86
|
+
<Stack set="bxsh hov" p="30">...</Stack>
|
|
87
|
+
// → <div class="l--stack set--bxsh set--hov -p:30">...</div>
|
|
88
88
|
|
|
89
89
|
// `-` prefix で除外(コンポーネント内部で適用済みの set を打ち消す用途)
|
|
90
90
|
<AccordionButton set="-plain">...</AccordionButton>
|
|
@@ -180,7 +180,7 @@ Trait クラス(`is--*` / `has--*`)を出力するためのプロパティ
|
|
|
180
180
|
| Prop | 出力クラス |
|
|
181
181
|
|------|-----------|
|
|
182
182
|
| `isWrapper` | `is--wrapper` |
|
|
183
|
-
| `isWrapper="{s\|l}"` | `is--wrapper` + `-contentSize:{s\|l}` |
|
|
183
|
+
| `isWrapper="{s\|m\|l\|xl}"` | `is--wrapper` + `-contentSize:{s\|m\|l\|xl}` |
|
|
184
184
|
| `isWrapper="{value}"` | `is--wrapper` + `-contentSize` + `--contentSize:{value}` |
|
|
185
185
|
| `isLayer` | `is--layer` |
|
|
186
186
|
| `isBoxLink` | `is--boxLink` |
|
|
@@ -211,7 +211,7 @@ Trait クラス(`is--*` / `has--*`)を出力するためのプロパティ
|
|
|
211
211
|
|-------------|-------------|---------|
|
|
212
212
|
| `<Text>` | `<p>` | `p`, `div`, `blockquote`, `address`, `figcaption`, `pre` |
|
|
213
213
|
| `<Heading>` | `<h2>` | `h1`〜`h6`(`level` prop で指定) |
|
|
214
|
-
| `<Inline>` | `<span>` | `span`, `em`, `strong`, `small`, `code`, `time`, `i`, `b`, `mark`, `abbr`, `cite`, `kbd` |
|
|
214
|
+
| `<Inline>` | `<span>` | `span`, `em`, `strong`, `small`, `code`, `time`, `i`, `b`, `mark`, `abbr`, `cite`, `kbd`, `label` |
|
|
215
215
|
| `<Group>` | `<div>` | `div`, `section`, `article`, `figure`, `nav`, `aside`, `header`, `footer`, `main`, `fieldset`, `hgroup` |
|
|
216
216
|
| `<List>` | `<ul>` | `ul`, `ol`, `dl` |
|
|
217
217
|
| `<Link>` | `<a>`(固定) | — |
|
|
@@ -43,13 +43,13 @@ Lism CSSで定義されるクラスは、その役割とレイヤーの所属が
|
|
|
43
43
|
|
|
44
44
|
| 分類 | 役割 | プレフィックス | 例 |
|
|
45
45
|
|---|---|---|---|
|
|
46
|
-
| Set Class | ベーススタイル上書き・変数提供 | `set--` | `set--plain`, `set--revert`, `set--
|
|
46
|
+
| Set Class | ベーススタイル上書き・変数提供 | `set--` | `set--plain`, `set--revert`, `set--hov`, `set--bxsh` |
|
|
47
47
|
| Layout Primitive | レイアウトの構成単位となる Primitive | `l--` | `l--grid`, `l--flex`, `l--stack` |
|
|
48
48
|
| Atomic Primitive | レイアウトの最小単位となる Primitive | `a--` | `a--icon`, `a--divider` |
|
|
49
49
|
| Component Class | BEM 構造を持つ UI 部品 | `c--` | `c--button`, `c--accordion` |
|
|
50
50
|
| `is--` Trait | 要素に役割(〜である)を宣言 | `is--` | `is--container`, `is--wrapper`, `is--layer`, `is--boxLink` |
|
|
51
51
|
| `has--` Trait | 要素に機能(〜を持つ)を付与 | `has--` | `has--transition`, `has--gutter`, `has--snap`, `has--mask` |
|
|
52
|
-
| Utility Class | 用途が明確な装飾系ユーティリティ | `u--` | `u--cbox`, `u--trim`, `u--divide`, `u--
|
|
52
|
+
| Utility Class | 用途が明確な装飾系ユーティリティ | `u--` | `u--cbox`, `u--trim`, `u--divide`, `u--enclose` |
|
|
53
53
|
| Property Class | 単一プロパティの制御 | `-` | `-fz:l`, `-p:20`, `-d:none` |
|
|
54
54
|
|
|
55
55
|
**併用ルール:**
|
|
@@ -83,7 +83,7 @@ class 属性にクラスを直接記述する場合は、以下の順序で並
|
|
|
83
83
|
| 2 | Component(`c--`) | `c--box`, `c--box--primary` |
|
|
84
84
|
| 3 | Atomic Primitive(`a--`) | `a--icon`, `a--divider` |
|
|
85
85
|
| 4 | Layout Primitive(`l--`) | `l--flex`, `l--columns` |
|
|
86
|
-
| 5 | Set Class(`set--`) | `set--
|
|
86
|
+
| 5 | Set Class(`set--`) | `set--hov`, `set--bxsh` |
|
|
87
87
|
| 6 | Trait Class 役割宣言(`is--`) | `is--wrapper`, `is--layer` |
|
|
88
88
|
| 7 | Trait Class 機能付与(`has--`) | `has--transition`, `has--gutter` |
|
|
89
89
|
| 8 | Utility Class(`u--`) | `u--cbox`, `u--trim` |
|
|
@@ -70,10 +70,10 @@
|
|
|
70
70
|
|
|
71
71
|
| プレフィックス | 責務 | 代表例 |
|
|
72
72
|
|---|---|---|
|
|
73
|
-
| `set--` | HTML 要素の基礎スタイリング / 変数セット | `set--plain`, `set--revert`, `set--
|
|
73
|
+
| `set--` | HTML 要素の基礎スタイリング / 変数セット | `set--plain`, `set--revert`, `set--hov`, `set--bxsh` |
|
|
74
74
|
| `is--` | 〜である(役割・存在の宣言)。CSS 変数は必須ではない | `is--container`, `is--wrapper`, `is--layer` |
|
|
75
75
|
| `has--` | 〜を持つ(単一機能 trait の付与)。CSS 変数でカスタマイズ可 | `has--transition`, `has--gutter`, `has--snap`, `has--mask` |
|
|
76
|
-
| `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--divide`, `u--
|
|
76
|
+
| `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--divide`, `u--enclose` |
|
|
77
77
|
|
|
78
78
|
- `set--` は `lism-base` 層で HTML 要素の基礎スタイル・変数を提供するもの。
|
|
79
79
|
- `is--` / `has--` は `lism-trait` 層に属する。
|
|
@@ -81,10 +81,10 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
|
|
|
81
81
|
##### 2. カラム幅が指定値を下回ったら自動で折り返したい
|
|
82
82
|
|
|
83
83
|
- **推奨**: `l--autoColumns` (`<AutoColumns cols="20rem" />`)
|
|
84
|
-
- **理由**: BP に依存せず、カラム最小幅基準で `auto-
|
|
84
|
+
- **理由**: BP に依存せず、カラム最小幅基準で `auto-fill` / `auto-fit` の挙動を簡潔に書ける
|
|
85
85
|
- **典型例**: カード一覧、商品リスト、ロゴ並び等
|
|
86
86
|
- **代替**:
|
|
87
|
-
- `l--grid`: `gtc="repeat(auto-
|
|
87
|
+
- `l--grid`: `gtc="repeat(auto-fill, minmax(20rem, 1fr))"` を直書きできるが冗長
|
|
88
88
|
|
|
89
89
|
##### 3. 「横並び」と「縦 1 列」を一括で切り替えたい(多段階の列数変化が不要)
|
|
90
90
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# l--autoColumns / `<AutoColumns>`
|
|
2
2
|
|
|
3
|
-
カラム要素が指定した幅より小さくならないように自動で折り返す、**ブレイクポイント非依存の段組みクラス**。`auto-
|
|
3
|
+
カラム要素が指定した幅より小さくならないように自動で折り返す、**ブレイクポイント非依存の段組みクラス**。`auto-fill` / `auto-fit` を使った流動カラムを簡潔に記述できます。
|
|
4
4
|
|
|
5
5
|
## 基本情報
|
|
6
6
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
| Prop | CSS変数 | デフォルト | 説明 |
|
|
15
15
|
|------|--------|-----------|------|
|
|
16
16
|
| `cols` | `--cols` | `20rem` | カラムが維持する最小幅を指定(`16em`, `320px` など) |
|
|
17
|
-
| `
|
|
17
|
+
| `autoFit` | `--autoMode` | `auto-fill` | `auto-fit` モードに切り替え |
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
@@ -38,27 +38,27 @@
|
|
|
38
38
|
</div>
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
### `auto-
|
|
41
|
+
### `auto-fit`を使用する
|
|
42
42
|
|
|
43
|
-
`l--autoColumns` では、`grid-template-columns` の `repeat()` 関数の第一引数を `--autoMode` で指定できます(デフォルトは `auto-
|
|
43
|
+
`l--autoColumns` では、`grid-template-columns` の `repeat()` 関数の第一引数を `--autoMode` で指定できます(デフォルトは `auto-fill`)。`--autoMode:auto-fit`(`autoFit`)を指定することで、要素数が少ない時の挙動が変わります。
|
|
44
44
|
|
|
45
45
|
```jsx
|
|
46
|
-
<AutoColumns cols="12em"
|
|
46
|
+
<AutoColumns cols="12em" g="20" fz="s">
|
|
47
47
|
<Lism as="div" p="20" bd>auto-fill</Lism>
|
|
48
48
|
<Lism as="div" p="20" bd>auto-fill</Lism>
|
|
49
49
|
</AutoColumns>
|
|
50
|
-
<AutoColumns cols="12em" g="20" fz="s">
|
|
50
|
+
<AutoColumns cols="12em" autoFit g="20" fz="s">
|
|
51
51
|
<Lism as="div" p="20" bd>auto-fit</Lism>
|
|
52
52
|
<Lism as="div" p="20" bd>auto-fit</Lism>
|
|
53
53
|
</AutoColumns>
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
```html
|
|
57
|
-
<div class="l--autoColumns -g:20 -fz:s" style="--cols:12em
|
|
57
|
+
<div class="l--autoColumns -g:20 -fz:s" style="--cols:12em">
|
|
58
58
|
<div class="-p:20 -bd">auto-fill</div>
|
|
59
59
|
<div class="-p:20 -bd">auto-fill</div>
|
|
60
60
|
</div>
|
|
61
|
-
<div class="l--autoColumns -g:20 -fz:s" style="--cols:12em">
|
|
61
|
+
<div class="l--autoColumns -g:20 -fz:s" style="--cols:12em; --autoMode:auto-fit">
|
|
62
62
|
<div class="-p:20 -bd">auto-fit</div>
|
|
63
63
|
<div class="-p:20 -bd">auto-fit</div>
|
|
64
64
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -hov(ホバー)
|
|
2
2
|
|
|
3
|
-
hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで動作する系と、親の `set--
|
|
3
|
+
hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで動作する系と、親の `set--hov` に連動する系の 2 系統に分かれる。
|
|
4
4
|
|
|
5
5
|
## 基本情報
|
|
6
6
|
|
|
@@ -15,10 +15,10 @@ hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで
|
|
|
15
15
|
|------|------|
|
|
16
16
|
| `-hov:-{prop}` | `--hov-{prop}` 変数を受け取り、hover 時に該当プロパティを変化させる |
|
|
17
17
|
| `-hov:{preset}` | hover 時のスタイルセットをプリセット名でまとめて適用する |
|
|
18
|
-
| `-hov:in:{preset}` | 親要素の `set--
|
|
18
|
+
| `-hov:in:{preset}` | 親要素の `set--hov` を起点に、子要素のスタイルを変化させる |
|
|
19
19
|
|
|
20
20
|
`-hov:-{prop}` と `-hov:{preset}` は `@media (any-hover: hover)` 内で定義されるため、タッチデバイスでは無効。
|
|
21
|
-
`-hov:in:*` はメディアクエリ外で、親の `set--
|
|
21
|
+
`-hov:in:*` はメディアクエリ外で、親の `set--hov` がセットする `--_isHov` / `--_notHov` 変数で動作する。
|
|
22
22
|
|
|
23
23
|
トランジションを付けたい場合は [`has--transition`](../trait-class/has--transition.md) クラスを併用する。
|
|
24
24
|
|
|
@@ -70,7 +70,7 @@ hover 時のスタイルセットをプリセット名でまとめて適用す
|
|
|
70
70
|
|
|
71
71
|
## `-hov:in:{preset}` — 親連動
|
|
72
72
|
|
|
73
|
-
親要素に `set--
|
|
73
|
+
親要素に `set--hov` を付けると、`--_isHov` / `--_notHov` 変数が hover 状態に応じて切り替わる。`-hov:in:*` はこの変数を参照する仕組み。
|
|
74
74
|
|
|
75
75
|
| クラス | 効果 | 仕組み |
|
|
76
76
|
|--------|------|--------|
|
|
@@ -79,7 +79,7 @@ hover 時のスタイルセットをプリセット名でまとめて適用す
|
|
|
79
79
|
| `-hov:in:zoom` | 親 hover 時にズーム | `scale: var(--_isHov, 1.1)` |
|
|
80
80
|
|
|
81
81
|
```jsx
|
|
82
|
-
<Frame set="
|
|
82
|
+
<Frame set="hov" isBoxLink href="#" ar="16/9">
|
|
83
83
|
<Media isLayer hasTransition hov="in:zoom" src="..." />
|
|
84
84
|
<Layer hasTransition hov="in:show" bgc="rgb(0 0 0 / 40%)">...</Layer>
|
|
85
85
|
</Frame>
|
|
@@ -139,5 +139,5 @@ hover 時のスタイルセットをプリセット名でまとめて適用す
|
|
|
139
139
|
## 関連
|
|
140
140
|
|
|
141
141
|
- [`has--transition`](../trait-class/has--transition.md) — hover 時の変化にトランジションを付ける
|
|
142
|
-
- [`set--
|
|
143
|
-
- [`set--
|
|
142
|
+
- [`set--hov`](../set-class.md#set--hov) — 親の hover 状態を子要素に伝播させる仕組み
|
|
143
|
+
- [`set--bxsh`](../set-class.md) — `-hov:-bxsh` と組み合わせる場合の影色再計算
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
|
|
34
34
|
:where(.has--gutter) > & {
|
|
35
35
|
inline-size: auto;
|
|
36
|
-
max-inline-size: calc(100% + var(--gutter
|
|
37
|
-
margin-inline: calc(var(--gutter
|
|
36
|
+
max-inline-size: calc(100% + var(--gutter) * 2);
|
|
37
|
+
margin-inline: calc(var(--gutter) * -1);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
```
|
|
@@ -118,6 +118,7 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
118
118
|
| `bsz` | `block-size` | — | — |
|
|
119
119
|
| `min-bsz` | `min-block-size` | — | — |
|
|
120
120
|
| `max-bsz` | `max-block-size` | — | — |
|
|
121
|
+
| `contentSize` | `--contentSize` 変数のみ | `-contentSize:s`, `-contentSize:m`, `-contentSize:l`, `-contentSize:xl` | — |
|
|
121
122
|
|
|
122
123
|
**`max-sz` の特殊クラス:**
|
|
123
124
|
- `-max-sz:full` — `has--gutter` 内では gutter 分を含めた全幅に拡張
|
|
@@ -125,6 +126,10 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
125
126
|
|
|
126
127
|
→ 詳細は [property-class/max-sz.md](./property-class/max-sz.md) 参照
|
|
127
128
|
|
|
129
|
+
**`contentSize` について:**
|
|
130
|
+
`--contentSize` 変数をセットする isVar タイプの Prop です。`is--wrapper` と組み合わせるとコンテンツ幅の上限となり、`set--bleed` と組み合わせると `--bleed` の計算基準値として使われます。
|
|
131
|
+
プリセット値(`s`, `m`, `l`, `xl`)は `-contentSize:{value}` クラスを出力し、それ以外の任意値は `--contentSize: {value}` をスタイル属性として出力します。
|
|
132
|
+
|
|
128
133
|
### 背景
|
|
129
134
|
|
|
130
135
|
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
@@ -167,13 +172,13 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
|
|
|
167
172
|
|------|--------------|-------------|-----|
|
|
168
173
|
| `bxsh` | `box-shadow` | `-bxsh:0`, `-bxsh:10`, `-bxsh:20`, `-bxsh:30`, `-bxsh:40`, `-bxsh:50` | ✔ |
|
|
169
174
|
|
|
170
|
-
**補足:** 影色(`--shc`)を要素内で上書きして再計算させたい場合は、`set--
|
|
175
|
+
**補足:** 影色(`--shc`)を要素内で上書きして再計算させたい場合は、`set--bxsh` クラスを併用する。
|
|
171
176
|
|
|
172
177
|
### ポジション
|
|
173
178
|
|
|
174
179
|
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
175
180
|
|------|--------------|-------------|-----|
|
|
176
|
-
| `pos` | `position` | `-pos:static`, `-pos:fixed`, `-pos:sticky`, `-pos:relative`, `-pos:absolute` |
|
|
181
|
+
| `pos` | `position` | `-pos:static`, `-pos:fixed`, `-pos:sticky`, `-pos:relative`, `-pos:absolute` | ✔ |
|
|
177
182
|
| `z` | `z-index` | `-z:-1`, `-z:0`, `-z:1`, `-z:99` | — |
|
|
178
183
|
| `t` | `top` | `-t:0`, `-t:50%`, `-t:100%` | — |
|
|
179
184
|
| `l` | `left` | `-l:0`, `-l:50%`, `-l:100%` | — |
|
|
@@ -280,7 +285,7 @@ SPACEトークン(全値): `5`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `5
|
|
|
280
285
|
| `aslf` | `align-self` | `-aslf:start`, `-aslf:center`, `-aslf:end`, `-aslf:stretch` | — |
|
|
281
286
|
| `jslf` | `justify-self` | `-jslf:start`, `-jslf:center`, `-jslf:end`, `-jslf:stretch` | — |
|
|
282
287
|
| `pslf` | `place-self` | `-pslf:start`, `-pslf:center`, `-pslf:end` | — |
|
|
283
|
-
| `order` | `order` | `-order:0`, `-order:-1`, `-order:1` |
|
|
288
|
+
| `order` | `order` | `-order:0`, `-order:-1`, `-order:1` | ✔ |
|
|
284
289
|
|
|
285
290
|
**コンポーネント用ショートハンド:** `ai`, `ac`, `ji`, `jc`, `aslf`, `jslf` では `s`→`start`, `e`→`end`, `c`→`center`, `fs`→`flex-start`, `fe`→`flex-end` のショートハンドが使えます。
|
|
286
291
|
|
|
@@ -309,7 +314,7 @@ Lism CSS のボーダーは CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理
|
|
|
309
314
|
|------|------|---------|
|
|
310
315
|
| `-hov:-{prop}` | `--hov-{prop}` 変数で hover 時の値を変化させる | `:hover`(`@media (any-hover: hover)` 内) |
|
|
311
316
|
| `-hov:{preset}` | hover 時のスタイルをプリセットで適用 | `:hover`(同上) |
|
|
312
|
-
| `-hov:in:{preset}` | 親の `set--
|
|
317
|
+
| `-hov:in:{preset}` | 親の `set--hov` を起点に子のスタイルを変化させる | 親に `set--hov` が必要 |
|
|
313
318
|
|
|
314
319
|
**標準クラス:** `-hov:-c`, `-hov:-bgc`, `-hov:-bdc`, `-hov:-o`, `-hov:-bxsh`, `-hov:underline`, `-hov:in:hide`, `-hov:in:show`, `-hov:in:zoom`
|
|
315
320
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# `set--` クラス
|
|
2
2
|
|
|
3
3
|
`@layer lism-base` に属し、HTML 要素の基礎スタイリングまたは CSS 変数のセットアップだけを行うクラス群です。
|
|
4
|
-
HTML では直接クラスを付与し、Lism コンポーネントでは `set` prop(`set="plain"`, `set="revert"`, `set="
|
|
4
|
+
HTML では直接クラスを付与し、Lism コンポーネントでは `set` prop(`set="plain"`, `set="revert"`, `set="bxsh"` 等)で指定します。
|
|
5
5
|
|
|
6
6
|
`set` prop の記法(複数値指定・`-` prefix による除外)は [components-core.md](./components-core.md#共通-props) を参照してください。
|
|
7
7
|
|
|
@@ -10,18 +10,19 @@ set-- は目的別に 2 カテゴリに分かれます。
|
|
|
10
10
|
| カテゴリ | 用途 | クラス |
|
|
11
11
|
|---------|------|--------|
|
|
12
12
|
| 基礎スタイリング | HTML 要素のリセット/リバート | `set--plain` / `set--revert` |
|
|
13
|
-
| 変数のセット | CSS 変数のセットアップのみを行う | `set--
|
|
13
|
+
| 変数のセット | CSS 変数のセットアップのみを行う | `set--bxsh` / `set--hov` / `set--bdrsInner` / `set--bleed` / `set--s` |
|
|
14
14
|
|
|
15
|
-
`set--
|
|
15
|
+
`set--{name}` の `{name}` は、そのクラスがセットアップする CSS 変数の名称に対応します(例: `--bxsh--*` → `bxsh`、`--_isHov` / `--_notHov` → `hov`、`--bdrs--inner` → `bdrsInner`、`--s*` → `s`)。
|
|
16
16
|
|
|
17
17
|
## TOC
|
|
18
18
|
|
|
19
19
|
- [`set--plain`](#set--plain)
|
|
20
20
|
- [`set--revert`](#set--revert)
|
|
21
|
-
- [`set--
|
|
22
|
-
- [`set--
|
|
23
|
-
- [`set--
|
|
24
|
-
- [`set--
|
|
21
|
+
- [`set--bxsh`](#set--bxsh)
|
|
22
|
+
- [`set--hov`](#set--hov)
|
|
23
|
+
- [`set--bdrsInner`](#set--bdrsinner)
|
|
24
|
+
- [`set--bleed`](#set--bleed)
|
|
25
|
+
- [`set--s`](#set--s)
|
|
25
26
|
|
|
26
27
|
[詳細](https://lism-css.com/docs/set-class.md)
|
|
27
28
|
|
|
@@ -35,10 +36,11 @@ set-- は目的別に 2 カテゴリに分かれます。
|
|
|
35
36
|
|--------|---------------|
|
|
36
37
|
| `set--plain` | [`_plain.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_plain.scss) |
|
|
37
38
|
| `set--revert` | [`_revert.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_revert.scss) |
|
|
38
|
-
| `set--
|
|
39
|
-
| `set--
|
|
40
|
-
| `set--
|
|
41
|
-
| `set--
|
|
39
|
+
| `set--bxsh` | [`_shadow.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_shadow.scss) |
|
|
40
|
+
| `set--hov` | [`_hov.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_hov.scss) |
|
|
41
|
+
| `set--bdrsInner` | [`_bdrsInner.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_bdrsInner.scss) |
|
|
42
|
+
| `set--bleed` | [`_bleed.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_bleed.scss) |
|
|
43
|
+
| `set--s` | [`_space.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_space.scss) |
|
|
42
44
|
|
|
43
45
|
---
|
|
44
46
|
|
|
@@ -80,24 +82,24 @@ Lism CSSでは、クラスを持つリスト(`ul` / `ol`)ではスタイル
|
|
|
80
82
|
</Lism>
|
|
81
83
|
```
|
|
82
84
|
|
|
83
|
-
## `set--
|
|
85
|
+
## `set--bxsh`
|
|
84
86
|
|
|
85
87
|
`SHADOW` トークン変数(`--bxsh--{N}`)を再計算するためのクラスです。`:root` で定義される `--shc`(影の色)を特定要素で上書きしたい時に利用します。
|
|
86
88
|
|
|
87
89
|
使用例:
|
|
88
90
|
```html
|
|
89
|
-
<div class="l--box set--
|
|
91
|
+
<div class="l--box set--bxsh -bxsh:20" style="--shc: hsl(200 50% 50% / 20%)">...</div>
|
|
90
92
|
```
|
|
91
93
|
```jsx
|
|
92
|
-
<Box set="
|
|
94
|
+
<Box set="bxsh" bxsh='20' style={{ '--shc': 'hsl(200 50% 50% / 20%)' }}>...</Box>
|
|
93
95
|
```
|
|
94
96
|
|
|
95
97
|
|
|
96
|
-
## `set--
|
|
98
|
+
## `set--hov`
|
|
97
99
|
|
|
98
100
|
ホバー状態の判定変数(`--_notHov`, `--_isHov`)を次のようにセットします。主に**子要素のホバースタイルを制御する**時に活用します。
|
|
99
101
|
|
|
100
|
-
- `--_isHov`は非hover
|
|
102
|
+
- `--_isHov`は非hover時(かつ非focus-within時)にのみ空白定義さます。
|
|
101
103
|
- `--_notHov`は逆に、hover時またはfocus-within時に空白定義されます。
|
|
102
104
|
|
|
103
105
|
この空変数トリックにより、次のような書き方ができます。
|
|
@@ -120,12 +122,12 @@ Lism CSSでは、クラスを持つリスト(`ul` / `ol`)ではスタイル
|
|
|
120
122
|
}
|
|
121
123
|
```
|
|
122
124
|
|
|
123
|
-
さらに、親要素に`set--
|
|
125
|
+
さらに、親要素に`set--hov`を付与してその子要素で`--_isHov`変数と`--_notHov`変数を使うことで、親要素のhoverをトリガーとして子要素のスタイルを変化させることも可能になります。
|
|
124
126
|
|
|
125
127
|
例えば、親のボックスがhoverされたら、その内部の画像をズームするようなケースで活用でき、`-hov:in:zoom`クラスが標準で用意されています。
|
|
126
128
|
|
|
127
129
|
```html
|
|
128
|
-
<a href="###" class="l--frame set--
|
|
130
|
+
<a href="###" class="l--frame set--hov is--boxLink -ar:21/9 -ov:hidden">
|
|
129
131
|
<img class="has--transition -hov:in:zoom" src="https://cdn.lism-css.com/img/a-2.jpg" width="960" height="640" loading="lazy" />
|
|
130
132
|
<div class="is--layer -bgc" style="--c: #fff; --bgc: rgb(0 0 0 / 50%)"></div>
|
|
131
133
|
<div class="l--center is--layer -c" style="--c: #fff;">
|
|
@@ -142,38 +144,73 @@ Lism CSSでは、クラスを持つリスト(`ul` / `ol`)ではスタイル
|
|
|
142
144
|
```
|
|
143
145
|
|
|
144
146
|
|
|
145
|
-
## `set--
|
|
147
|
+
## `set--bdrsInner`
|
|
146
148
|
|
|
147
149
|
親要素の角丸(`--bdrs`)とPadding(`--p`)の値から、その内側の角丸(`--bdrs--inner`)を自動計算するためのクラスです。
|
|
148
|
-
親要素に`set--
|
|
150
|
+
親要素に`set--bdrsInner`をクラスをセットし、子要素では`-bdrs:inner`をセットすることで、計算された`--bdrs--inner`をセットすることができます。
|
|
149
151
|
|
|
150
152
|
(親要素では`bdrs`と`p`の指定が必須となります。)
|
|
151
153
|
|
|
152
154
|
使用例:
|
|
153
|
-
```html "set--
|
|
154
|
-
<div class="set--
|
|
155
|
+
```html "set--bdrsInner" "-bdrs:inner"
|
|
156
|
+
<div class="set--bdrsInner -p:15 -bdrs:40 -bd">
|
|
155
157
|
<div class="-bdrs:inner">...</div>
|
|
156
158
|
</div>
|
|
157
159
|
```
|
|
158
160
|
```jsx
|
|
159
|
-
<Lism set="
|
|
161
|
+
<Lism set="bdrsInner" p="15" bdrs="40" bd>
|
|
160
162
|
<Lism bdrs="inner">...</Lism>
|
|
161
163
|
</Lism>
|
|
162
164
|
```
|
|
163
165
|
|
|
164
166
|
|
|
165
|
-
## `set--
|
|
167
|
+
## `set--bleed`
|
|
168
|
+
|
|
169
|
+
片側ブリードレイアウトを組むのに便利な `--bleed` 変数を生成するクラスです。コンテンツ幅(`--contentSize`)の外側の余白量がセットされます。ただし、ガター幅(`--gutter` / `--gutter--base`)を下限とし、これより狭くなる場合はガター幅を返します。
|
|
170
|
+
|
|
171
|
+
`--contentSize` が未指定の場合は `--sz--m` を基準値として使用します。
|
|
172
|
+
|
|
173
|
+
`padding-inline: var(--bleed)` を子要素に当てれば、その要素だけコンテンツ幅の外側ガターまで広げられるため、画像とテキストを並べた片側ブリードの 2 カラムなどに活用できます。
|
|
174
|
+
|
|
175
|
+
使用例(`Columns` の片側だけブリードさせる):
|
|
176
|
+
```html
|
|
177
|
+
<div class="is--container">
|
|
178
|
+
<div class="l--columns set--bleed -contentSize:s -cols_sm -g:0 -g_sm -ai:center" style="--cols:1;--cols_sm:2;--g_sm:var(--s10)">
|
|
179
|
+
<div class="l--box has--gutter -ps -py:30 -py_sm" style="--ps:var(--bleed);--py_sm:0">
|
|
180
|
+
<p>...</p>
|
|
181
|
+
</div>
|
|
182
|
+
<div class="l--frame -bdrs:inner -ar:3/2">
|
|
183
|
+
<img src="..." alt="" />
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
```
|
|
188
|
+
```jsx
|
|
189
|
+
<Container>
|
|
190
|
+
<Columns set="bleed" contentSize="s" cols={[1, 2]} g={['0', '10']} ai="center">
|
|
191
|
+
<Box hasGutter ps="var(--bleed)" py={["30", "0"]}>
|
|
192
|
+
<p>...</p>
|
|
193
|
+
</Box>
|
|
194
|
+
<Frame bdrs="inner" ar="3/2">
|
|
195
|
+
<img src="..." alt="" />
|
|
196
|
+
</Frame>
|
|
197
|
+
</Columns>
|
|
198
|
+
</Container>
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
## `set--s`
|
|
166
203
|
|
|
167
204
|
余白トークン(`--s5`〜`--s80`)を現在のフォントサイズ基準で再計算するためのクラスです。ButtonやBadgeなど、内部余白を要素自身のfont-sizeに追従させたい時に利用します。
|
|
168
205
|
|
|
169
|
-
詳細なスケールと使い方は[tokens.mdの`set--
|
|
206
|
+
詳細なスケールと使い方は[tokens.mdの`set--s`ユーティリティ](./tokens.md#set--s-ユーティリティ)を参照してください。
|
|
170
207
|
|
|
171
208
|
使用例:
|
|
172
209
|
|
|
173
210
|
```html
|
|
174
|
-
<button class="set--
|
|
211
|
+
<button class="set--s -fz:s -py:10 -px:20">...</button>
|
|
175
212
|
```
|
|
176
213
|
|
|
177
214
|
```jsx
|
|
178
|
-
<Button set="
|
|
215
|
+
<Button set="s" fz="s" py="10" px="20">...</Button>
|
|
179
216
|
```
|
|
@@ -18,7 +18,7 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
18
18
|
- [角丸 (bdrs)](#角丸-bdrs)
|
|
19
19
|
- [影 (bxsh)](#影-bxsh)
|
|
20
20
|
- [フロー余白 (flow)](#フロー余白-flow)
|
|
21
|
-
- [
|
|
21
|
+
- [ガター (gutter)](#ガター-gutter)
|
|
22
22
|
- [カラー](#カラー)
|
|
23
23
|
- [トークン値の命名規則](#トークン値の命名規則)
|
|
24
24
|
|
|
@@ -70,19 +70,19 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
70
70
|
|
|
71
71
|
`--s40` 以降の主軸は係数 `1, 2, 3, 5, 8, 13, 21, 34`(フィボナッチ数列)に基づく。`--s5`〜`--s35` の前半部分は、主軸トークン間を補う中間値(4px / 12px / 20px / 32px 相当)として配置している。`--s-unit` を上書きするとスケール全体を比例的に調整できる。
|
|
72
72
|
|
|
73
|
-
### `set--
|
|
73
|
+
### `set--s` ユーティリティ
|
|
74
74
|
|
|
75
|
-
`set--
|
|
75
|
+
`set--s` クラスを当てた要素のスコープ内では `--s-unit` が `0.5em` に切り替わり、`--s10`〜`--s80` が現在のフォントサイズ基準で再計算される。Button / Badge / インライン要素など、内部余白をフォントサイズに追従させたい部品で使う。
|
|
76
76
|
|
|
77
77
|
```html
|
|
78
78
|
<!-- ボタンの padding が button 自身の font-size に追従する -->
|
|
79
|
-
<button class="set--
|
|
79
|
+
<button class="set--s -fz:s -py:10 -px:20">...</button>
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
`--s-unit` を任意値で上書きすれば、別の基準にも切り替えられる。
|
|
83
83
|
|
|
84
84
|
```html
|
|
85
|
-
<button class="set--
|
|
85
|
+
<button class="set--s -p:10" style="--s-unit: .4375em">...</button>
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
|
|
@@ -176,7 +176,7 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
176
176
|
|
|
177
177
|
## 影 (bxsh)
|
|
178
178
|
|
|
179
|
-
`--shc`(シャドウカラー)と `--shsz--{N}`(シャドウサイズ)を組み合わせて構成される。要素ごとに `--shc` を上書きして再計算したい場合は、`set--
|
|
179
|
+
`--shc`(シャドウカラー)と `--shsz--{N}`(シャドウサイズ)を組み合わせて構成される。要素ごとに `--shc` を上書きして再計算したい場合は、`set--bxsh` クラスを併用する。
|
|
180
180
|
|
|
181
181
|
| CSS変数 | 値 |
|
|
182
182
|
|---------|-----|
|
|
@@ -206,19 +206,20 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
206
206
|
| `--flow--s` | `var(--s20)` | `-flow:s` で適用される小さめの余白 |
|
|
207
207
|
|
|
208
208
|
|
|
209
|
-
##
|
|
209
|
+
## ガター (gutter)
|
|
210
210
|
|
|
211
|
-
|
|
211
|
+
サイト全体のガター(左右余白)量を扱う変数群。`--flow--base` / `--flow` と同じく「基準値(`:root`)+ 要素ローカル機能変数」の2層構造を採る。
|
|
212
212
|
|
|
213
|
-
| CSS変数 |
|
|
214
|
-
|
|
215
|
-
| `--gutter
|
|
213
|
+
| CSS変数 | 初期値 | 説明 |
|
|
214
|
+
|---------|--------|------|
|
|
215
|
+
| `--gutter--base` | `var(--s30)` | サイトコンテンツの左右余白の基準値(`:root` で定義) |
|
|
216
|
+
| `--gutter` | `var(--gutter--base)` | `.has--gutter` で要素ローカルに初期化される機能変数。要素単位で `style="--gutter: 20px"` のように上書き可能 |
|
|
216
217
|
|
|
217
218
|
参照される主な箇所:
|
|
218
219
|
|
|
219
|
-
- `has--gutter` の `padding-inline`
|
|
220
|
-
- `is--container` の `--sz--bleed` 計算(`100cqi + var(--gutter
|
|
221
|
-
- `-max-sz:full` の負 margin による hang
|
|
220
|
+
- `has--gutter` の `padding-inline: var(--gutter)`
|
|
221
|
+
- `is--container` の `--sz--bleed` 計算(`100cqi + var(--gutter) * 2`)
|
|
222
|
+
- `-max-sz:full` の負 margin による hang 拡張(`var(--gutter)` を参照)
|
|
222
223
|
|
|
223
224
|
|
|
224
225
|
## カラー
|
|
@@ -13,19 +13,25 @@
|
|
|
13
13
|
|
|
14
14
|
```scss
|
|
15
15
|
.has--gutter {
|
|
16
|
-
|
|
16
|
+
--gutter: var(--gutter--base);
|
|
17
|
+
padding-inline: var(--gutter);
|
|
17
18
|
}
|
|
18
19
|
```
|
|
19
20
|
|
|
20
|
-
`--
|
|
21
|
+
ガター変数は `--flow--base` / `--flow` と同じ「基準値 + 要素ローカル機能変数」の2層構造を採る。
|
|
22
|
+
|
|
23
|
+
- `--gutter--base`: `:root` で `var(--s30)` をデフォルトに持つサイト全体の基準値
|
|
24
|
+
- `--gutter`: `.has--gutter` で `var(--gutter--base)` に初期化される要素ローカルの機能変数
|
|
21
25
|
|
|
22
26
|
## CSS 変数
|
|
23
27
|
|
|
24
28
|
| 変数 | 役割 | デフォルト |
|
|
25
29
|
|------|------|-----------|
|
|
26
|
-
| `--gutter
|
|
30
|
+
| `--gutter--base` | サイト全体のガター基準値(`:root` 定義) | `var(--s30)` |
|
|
31
|
+
| `--gutter` | `.has--gutter` 要素ローカルの機能変数 | `var(--gutter--base)` |
|
|
27
32
|
|
|
28
|
-
|
|
33
|
+
- サイト全体の基準を変えたい場合は `:root` 等で `--gutter--base` を上書きする
|
|
34
|
+
- 個別要素のみガター量を変えたい場合は、その要素で `style="--gutter: 20px"` のように `--gutter` を直接上書きする
|
|
29
35
|
|
|
30
36
|
## Usage
|
|
31
37
|
|
|
@@ -34,12 +40,22 @@
|
|
|
34
40
|
<p>Lorem ipsum content...</p>
|
|
35
41
|
<p>Lorem ipsum content...</p>
|
|
36
42
|
</div>
|
|
43
|
+
|
|
44
|
+
<!-- 個別要素でガター量を上書きする例 -->
|
|
45
|
+
<div class="has--gutter" style="--gutter: 20px">
|
|
46
|
+
<p>Lorem ipsum content...</p>
|
|
47
|
+
</div>
|
|
37
48
|
```
|
|
38
49
|
```jsx
|
|
39
50
|
<Lism hasGutter>
|
|
40
51
|
<p>Lorem ipsum content...</p>
|
|
41
52
|
<p>Lorem ipsum content...</p>
|
|
42
53
|
</Lism>
|
|
54
|
+
|
|
55
|
+
{/* 個別要素でガター量を上書きする例 */}
|
|
56
|
+
<Lism hasGutter style={{ '--gutter': '20px' }}>
|
|
57
|
+
<p>Lorem ipsum content...</p>
|
|
58
|
+
</Lism>
|
|
43
59
|
```
|
|
44
60
|
|
|
45
61
|
## 関連
|