④段整套同步(六节 + P/S/F/J + 模板)+ open-design 移到技能根
一、④段整套同步(用户选候选 A)
- 新增 `references/stage-proto-doc/assets/产品文档模板.html`(16 KB/247 行,从备份拷、转 LF)。
- ④段 SKILL.md 换成备份 15:28 那版,并按模板口径改齐:
· 「产品文档框架」从「四块+一附录」改成**六节** —— 页面结构/功能清单/使用场景/操作流程/
跨页与界面状态/待确认与偏离;与模板同构,⛔ 不从空白页重写结构。
· 编号从 R/S/F 改成 **P 页面/S 场景/F 功能/J 二级功能**,各自唯一、按展示顺序通排。
· 保留旧版有价值的要求:每项功能补齐 做什么/入口在哪/输入边界/异常与恢复;重点功能三处标红;
横向流程图每步写清页面/功能/操作/完成判据。
· 完成标准「七节」→「六节」,自查清单同步换掉「需求」那批条目,补模板与配图两条。
· 路径 `designs/<项目>/` → `docs/pm/<项目>/ui/`(2 处)。
· 补回本机那条「每份产出文档开头都要有一张图」的引用(指向主 skill,段内不复述)。
- 主 skill 同步:四段结构表④行、④段沿革、画图小节(④段画页面结构图 + 用户路径)。
二、open-design 移到技能根(用户选候选 A)
- `git mv product-planning/references/stage-delivery/assets/open-design → open-design/`(4178 文件)。
- `.gitignore` 白名单加 `!/open-design/` —— 否则移出去就不再纳入版本控制。
- 引用改 11 处:路径形态 `assets/open-design/...` → `<技能根>/open-design/...`;
「随段携带的自带件」改称「同根技能」;「路径怎么找」那条改成自带件(段内相对路径)与
同根技能(`<技能根>/<技能名>/`)两类分开写。
- open-design 自己的 ATTRIBUTION.md 两处同步(它现在与 oil-ui-pro 同层)。
- 副作用(有益):命名闸门读数由 2063 降到 225 —— 此前它把 open-design 里 919 个第三方 md
当成规则一起扫了;现在只扫本包 23 个 md。已确认④段的 H1 与 4a/4b/4c 子步仍在检查范围内。
三、验收
- check_naming.py --ws E:/ProgramData/AIProject/contentm_agent = 通过 225 / 失败 0 / 提示 27。
- 活文件里 `assets/open-design` 残留 0;工作区 CRLF 文件 0。
This commit is contained in:
1 parent
fa0a9026c8
commit
5afeb6b78a
4184 files changed
+326
-70
No files matched your search
@@ -0,0 +1,335 @@
|
||||
# IBMにインスパイアされたデザインシステム
|
||||
|
||||
> Category: メディア&コンシューマー
|
||||
> エンタープライズ技術。Carbonデザインシステム、構造化されたブルーパレット。
|
||||
|
||||
## 1. ビジュアルテーマ&雰囲気
|
||||
|
||||
IBMのウェブサイトは、Carbonデザインシステムの上に構築されたエンタープライズ権威のデジタル体現です。このデザイン言語は極めて体系的に構造化されており、まるでウェブページとして描画されたエンジニアリング仕様書のように読めます。ページは鮮明な二元性で動作します。明るい白(`#ffffff`)のキャンバスと、ほぼ黒(`#161616`)のテキスト、そして唯一の揺るぎないアクセント——IBMブルー60(`#0f62fe`)。これはスタートアップ的なポップなミニマリズムではなく、企業の精密さをピクセルに凝縮したものです。すべての要素はCarbonの厳格な2xグリッドの中に存在し、すべての色はセマンティックトークンにマッピングされ、すべてのスペーシング値は8pxベースユニットにスナップします。
|
||||
|
||||
IBM Plexタイプファミリーはこのシステムの骨格です。ライトウェイト(300)のIBM Plex Sansをディスプレイ見出しに使用すると、大きなサイズで予想外に軽やかで、ほぼ繊細な質感が生まれます。これはIBMの企業的重厚さへの意図的なカウンターポイントです。ボディサイズでは、14pxキャプションに0.16pxのレタースペーシングを持つレギュラーウェイト(400)が、細部にわたるマイクロトラッキングを導入し、Carbonのテキストを設計されたものではなく、エンジニアリングされたものに感じさせます。IBM Plex Monoはコード、データ、技術ラベルに使用され、稀にしか使われないIBM Plex Serifとともにファミリーの三位一体を完成させます。
|
||||
|
||||
IBM のビジュアルアイデンティティを「モノクローム+ブルー」を超えて定義するのは、Carbonのコンポーネントトークンシステムへの依存です。すべてのインタラクティブな状態は、`--cds-`(Carbon Design System)プレフィックスを持つCSSカスタムプロパティにマッピングされます。ボタンはハードコードされた色を持ちません。`--cds-button-primary`、`--cds-button-primary-hover`、`--cds-button-primary-active`を参照します。このトークン化されたアーキテクチャは、ビジュアルレイヤー全体が深く体系化された基盤の上の薄いスキンであることを意味します——設計における型付けのしっかりしたAPIのようなものです。
|
||||
|
||||
**主な特徴:**
|
||||
- ディスプレイサイズにはIBM Plex Sansウェイト300(ライト)——タイポグラフィの抑制による企業の重厚感
|
||||
- コードとテクニカルコンテンツにはIBM Plex Mono、小サイズで一貫した0.16pxレタースペーシング
|
||||
- 単一アクセントカラー:IBMブルー60(`#0f62fe`)——すべてのインタラクティブ要素、すべてのCTA、すべてのリンク
|
||||
- Carbon トークンシステム(`--cds-*`)がすべてのセマンティックカラーを駆動し、変数レベルでのテーマ切り替えを可能に
|
||||
- 8pxスペーシンググリッドに厳格に準拠——任意の値なし、すべて整列
|
||||
- `#f4f4f4`グレー10サーフェス上のフラットでボーダーレスなカード——影ではなく背景色のレイヤリングで奥行きを表現
|
||||
- ボトムボーダーインプット(ボックス型ではない)——Carbonフォームの象徴的なパターン
|
||||
- プライマリボタンのボーダー半径0px——一切の柔らかさなし、妥協なき矩形
|
||||
|
||||
## 2. カラーパレット&役割
|
||||
|
||||
### プライマリ
|
||||
- **IBMブルー60**(`#0f62fe`):唯一のインタラクティブカラー。プライマリボタン、リンク、フォーカス状態、アクティブインジケーター。これはコアUIパレット中の唯一の有彩色です。
|
||||
- **ホワイト**(`#ffffff`):ページ背景、カードサーフェス、ブルー上のボタンテキスト、`--cds-background`。
|
||||
- **グレー100**(`#161616`):プライマリテキスト、見出し、ダークサーフェス背景、ナビバー、フッター。`--cds-text-primary`。
|
||||
|
||||
### ニュートラルスケール(グレーファミリー)
|
||||
- **グレー100**(`#161616`):プライマリテキスト、見出し、ダークUIクロム、フッター背景。
|
||||
- **グレー90**(`#262626`):セカンダリダークサーフェス、ダーク背景上のホバー状態。
|
||||
- **グレー80**(`#393939`):ターシャリダーク、アクティブ状態。
|
||||
- **グレー70**(`#525252`):セカンダリテキスト、ヘルパーテキスト、説明文。`--cds-text-secondary`。
|
||||
- **グレー60**(`#6f6f6f`):プレースホルダーテキスト、無効テキスト。
|
||||
- **グレー50**(`#8d8d8d`):無効アイコン、ミュートラベル。
|
||||
- **グレー30**(`#c6c6c6`):ボーダー、ディバイダーライン、インプットボトムボーダー。`--cds-border-subtle`。
|
||||
- **グレー20**(`#e0e0e0`):サブトルボーダー、カードアウトライン。
|
||||
- **グレー10**(`#f4f4f4`):セカンダリサーフェス背景、カードフィル、交互行。`--cds-layer-01`。
|
||||
- **グレー10ホバー**(`#e8e8e8`):グレー10サーフェスのホバー状態。
|
||||
|
||||
### インタラクティブ
|
||||
- **ブルー60**(`#0f62fe`):プライマリインタラクティブ——ボタン、リンク、フォーカス。`--cds-link-primary`、`--cds-button-primary`。
|
||||
- **ブルー70**(`#0043ce`):リンクホバー状態。`--cds-link-primary-hover`。
|
||||
- **ブルー80**(`#002d9c`):ブルー要素のアクティブ/プレス状態。
|
||||
- **ブルー10**(`#edf5ff`):ブルーティントサーフェス、選択行の背景。
|
||||
- **フォーカスブルー**(`#0f62fe`):`--cds-focus` — フォーカス要素上の2pxインセットボーダー。
|
||||
- **フォーカスインセット**(`#ffffff`):`--cds-focus-inset` — ダーク背景上のフォーカス用白内リング。
|
||||
|
||||
### サポート&ステータス
|
||||
- **レッド60**(`#da1e28`):エラー、危険。`--cds-support-error`。
|
||||
- **グリーン50**(`#24a148`):成功。`--cds-support-success`。
|
||||
- **イエロー30**(`#f1c21b`):警告。`--cds-support-warning`。
|
||||
- **ブルー60**(`#0f62fe`):情報。`--cds-support-info`。
|
||||
|
||||
### ダークテーマ(グレー100テーマ)
|
||||
- **背景**:グレー100(`#161616`)。`--cds-background`。
|
||||
- **レイヤー01**:グレー90(`#262626`)。カードとコンテナサーフェス。
|
||||
- **レイヤー02**:グレー80(`#393939`)。昇格サーフェス。
|
||||
- **プライマリテキスト**:グレー10(`#f4f4f4`)。`--cds-text-primary`。
|
||||
- **セカンダリテキスト**:グレー30(`#c6c6c6`)。`--cds-text-secondary`。
|
||||
- **サブトルボーダー**:グレー80(`#393939`)。`--cds-border-subtle`。
|
||||
- **インタラクティブ**:ブルー40(`#78a9ff`)。コントラスト確保のためリンクとインタラクティブ要素は明るくなります。
|
||||
|
||||
## 3. タイポグラフィルール
|
||||
|
||||
### フォントファミリー
|
||||
- **プライマリ**:`IBM Plex Sans`、フォールバック:`Helvetica Neue, Arial, sans-serif`
|
||||
- **モノスペース**:`IBM Plex Mono`、フォールバック:`Menlo, Courier, monospace`
|
||||
- **セリフ**(限定使用):`IBM Plex Serif`、エディトリアル/表現的なコンテキスト用
|
||||
- **アイコンフォント**:`ibm_icons` — 20pxの専用アイコングリフ
|
||||
|
||||
### 階層
|
||||
|
||||
| 役割 | フォント | サイズ | ウェイト | 行高 | レタースペーシング | 備考 |
|
||||
|------|------|------|--------|-------------|----------------|-------|
|
||||
| Display 01 | IBM Plex Sans | 60px (3.75rem) | 300 (Light) | 1.17 (70px) | 0 | 最大インパクト、軽やかさを持つライトウェイト |
|
||||
| Display 02 | IBM Plex Sans | 48px (3.00rem) | 300 (Light) | 1.17 (56px) | 0 | セカンダリヒーロー、レスポンシブフォールバック |
|
||||
| Heading 01 | IBM Plex Sans | 42px (2.63rem) | 300 (Light) | 1.19 (50px) | 0 | 表現的な見出し |
|
||||
| Heading 02 | IBM Plex Sans | 32px (2.00rem) | 400 (Regular) | 1.25 (40px) | 0 | セクション見出し |
|
||||
| Heading 03 | IBM Plex Sans | 24px (1.50rem) | 400 (Regular) | 1.33 (32px) | 0 | サブセクションタイトル |
|
||||
| Heading 04 | IBM Plex Sans | 20px (1.25rem) | 600 (Semibold) | 1.40 (28px) | 0 | カードタイトル、機能ヘッダー |
|
||||
| Heading 05 | IBM Plex Sans | 20px (1.25rem) | 400 (Regular) | 1.40 (28px) | 0 | ライターカード見出し |
|
||||
| Body Long 01 | IBM Plex Sans | 16px (1.00rem) | 400 (Regular) | 1.50 (24px) | 0 | 標準読み取りテキスト |
|
||||
| Body Long 02 | IBM Plex Sans | 16px (1.00rem) | 600 (Semibold) | 1.50 (24px) | 0 | 強調ボディ、ラベル |
|
||||
| Body Short 01 | IBM Plex Sans | 14px (0.88rem) | 400 (Regular) | 1.29 (18px) | 0.16px | コンパクトボディ、キャプション |
|
||||
| Body Short 02 | IBM Plex Sans | 14px (0.88rem) | 600 (Semibold) | 1.29 (18px) | 0.16px | ボールドキャプション、ナビ項目 |
|
||||
| Caption 01 | IBM Plex Sans | 12px (0.75rem) | 400 (Regular) | 1.33 (16px) | 0.32px | メタデータ、タイムスタンプ |
|
||||
| Code 01 | IBM Plex Mono | 14px (0.88rem) | 400 (Regular) | 1.43 (20px) | 0.16px | インラインコード、ターミナル |
|
||||
| Code 02 | IBM Plex Mono | 16px (1.00rem) | 400 (Regular) | 1.50 (24px) | 0 | コードブロック |
|
||||
| Mono Display | IBM Plex Mono | 42px (2.63rem) | 400 (Regular) | 1.19 (50px) | 0 | ヒーロー用モノ装飾 |
|
||||
|
||||
### 原則
|
||||
- **ディスプレイサイズではライトウェイト**:Carbonの表現型タイプセットは42px以上でウェイト300(ライト)を使用します。これは独特の緊張感を生み出します——コンテンツは企業の権威をもって語りかける一方、レターフォームはタイポグラフィの軽やかさでささやきます。
|
||||
- **小サイズでのマイクロトラッキング**:14pxで0.16pxのレタースペーシング、12pxで0.32px。これらのわずかな値は、コンパクトなサイズでの可読性に対するCarbonの秘密兵器です——密なIBM Plexのレターフォームをちょうどよく開きます。
|
||||
- **3つの機能的ウェイト**:300(ディスプレイ/表現的)、400(ボディ/読み取り)、600(強調/UIラベル)。ウェイト700は本番タイプスケールから意図的に除外されています。
|
||||
- **プロダクティブvs.エクスプレッシブ**:プロダクティブセットは密なUIのためにタイトな行高(1.29)を使用します。エクスプレッシブセットはマーケティングやエディトリアルコンテンツのために余白を持たせます(1.40-1.50)。
|
||||
|
||||
## 4. コンポーネントスタイリング
|
||||
|
||||
### ボタン
|
||||
|
||||
**プライマリボタン(ブルー)**
|
||||
- 背景:`#0f62fe`(ブルー60)→ `--cds-button-primary`
|
||||
- テキスト:`#ffffff`(ホワイト)
|
||||
- パディング:14px 63px 14px 15px(非対称——末尾アイコン用スペース)
|
||||
- ボーダー:1px solid transparent
|
||||
- ボーダー半径:0px(シャープな矩形——Carbonのシグネチャ)
|
||||
- 高さ:48px(デフォルト)、40px(コンパクト)、64px(エクスプレッシブ)
|
||||
- ホバー:`#0353e9`(ブルー60ホバー)→ `--cds-button-primary-hover`
|
||||
- アクティブ:`#002d9c`(ブルー80)→ `--cds-button-primary-active`
|
||||
- フォーカス:`2px solid #0f62fe`インセット + `1px solid #ffffff`インナー
|
||||
|
||||
**セカンダリボタン(グレー)**
|
||||
- 背景:`#393939`(グレー80)
|
||||
- テキスト:`#ffffff`
|
||||
- ホバー:`#4c4c4c`(グレー70)
|
||||
- アクティブ:`#6f6f6f`(グレー60)
|
||||
- プライマリと同じパディング/半径
|
||||
|
||||
**ターシャリボタン(ゴーストブルー)**
|
||||
- 背景:transparent
|
||||
- テキスト:`#0f62fe`(ブルー60)
|
||||
- ボーダー:1px solid `#0f62fe`
|
||||
- ホバー:`#0353e9`テキスト + ブルー10背景ティント
|
||||
- ボーダー半径:0px
|
||||
|
||||
**ゴーストボタン**
|
||||
- 背景:transparent
|
||||
- テキスト:`#0f62fe`(ブルー60)
|
||||
- パディング:14px 16px
|
||||
- ボーダー:なし
|
||||
- ホバー:`#e8e8e8`背景ティント
|
||||
|
||||
**デンジャーボタン**
|
||||
- 背景:`#da1e28`(レッド60)
|
||||
- テキスト:`#ffffff`
|
||||
- ホバー:`#b81921`(レッド70)
|
||||
|
||||
### カード&コンテナ
|
||||
- 背景:ホワイトテーマで`#ffffff`、昇格カードで`#f4f4f4`(グレー10)
|
||||
- ボーダー:なし(フラットデザイン——ほとんどのカードにボーダーや影なし)
|
||||
- ボーダー半径:0px(矩形ボタンの美学に合わせて)
|
||||
- ホバー:クリッカブルカードは背景が`#e8e8e8`(グレー10ホバー)にシフト
|
||||
- コンテンツパディング:16px
|
||||
- 区切り:影ではなく背景色レイヤリング(白 → グレー10 → 白)
|
||||
|
||||
### インプット&フォーム
|
||||
- 背景:`#f4f4f4`(グレー10)— `--cds-field`
|
||||
- テキスト:`#161616`(グレー100)
|
||||
- パディング:0px 16px(水平のみ)
|
||||
- 高さ:40px(デフォルト)、48px(ラージ)
|
||||
- ボーダー:サイド/トップなし — ボトム`2px solid transparent`
|
||||
- ボトムボーダーアクティブ:`2px solid #161616`(グレー100)
|
||||
- フォーカス:`2px solid #0f62fe`(ブルー60)ボトムボーダー — `--cds-focus`
|
||||
- エラー:`2px solid #da1e28`(レッド60)ボトムボーダー
|
||||
- ラベル:12px IBM Plex Sans、0.32pxレタースペーシング、グレー70
|
||||
- ヘルパーテキスト:12px、グレー60
|
||||
- プレースホルダー:グレー60(`#6f6f6f`)
|
||||
- ボーダー半径:0px(トップ)——インプットはシャープコーナー
|
||||
|
||||
### ナビゲーション
|
||||
- 背景:`#161616`(グレー100)— 全幅ダークマストヘッド
|
||||
- 高さ:48px
|
||||
- ロゴ:IBM 8バーロゴ、ダーク上のホワイト、左揃え
|
||||
- リンク:14px IBM Plex Sans、ウェイト400、`#c6c6c6`(グレー30)デフォルト
|
||||
- リンクホバー:`#ffffff`テキスト
|
||||
- アクティブリンク:ボトムボーダーインジケーター付き`#ffffff`
|
||||
- プラットフォームスイッチャー:左揃え水平タブ
|
||||
- 検索:アイコントリガーのスライドアウト検索フィールド
|
||||
- モバイル:左スライドパネル付きハンバーガー
|
||||
|
||||
### リンク
|
||||
- デフォルト:`#0f62fe`(ブルー60)、アンダーラインなし
|
||||
- ホバー:`#0043ce`(ブルー70)、アンダーライン付き
|
||||
- 訪問済み:ブルー60のまま(訪問済み状態の変化なし)
|
||||
- インラインリンク:本文中はデフォルトでアンダーライン
|
||||
|
||||
### 特徴的なコンポーネント
|
||||
|
||||
**コンテンツブロック(ヒーロー/フィーチャー)**
|
||||
- 全幅で白/グレー10背景帯が交互に
|
||||
- 60pxまたは48pxディスプレイタイプで左揃えの見出し
|
||||
- 矢印アイコン付きブループライマリボタンをCTAとして
|
||||
- 画像/イラストはモバイルで右揃えまたは下部に
|
||||
|
||||
**タイル(クリッカブルカード)**
|
||||
- 背景:`#f4f4f4`または`#ffffff`
|
||||
- 全幅ボトムボーダーまたはホバー時の背景シフト
|
||||
- ホバー時に右下に矢印アイコン
|
||||
- 影なし——フラットさがアイデンティティ
|
||||
|
||||
**タグ/ラベル**
|
||||
- 背景:10%不透明度のコンテキスト色(例:ブルー10、レッド10)
|
||||
- テキスト:対応する60グレードカラー
|
||||
- パディング:4px 8px
|
||||
- ボーダー半径:24px(ピル——0pxルールの例外)
|
||||
- フォント:12px ウェイト400
|
||||
|
||||
**通知バナー**
|
||||
- 全幅バー、通常ブルー60またはグレー100の背景
|
||||
- ホワイトテキスト、14px
|
||||
- 閉じる/消すアイコンを右揃え
|
||||
|
||||
## 5. レイアウト原則
|
||||
|
||||
### スペーシングシステム
|
||||
- ベースユニット:8px(Carbon 2xグリッド)
|
||||
- コンポーネントスペーシングスケール:2px、4px、8px、12px、16px、24px、32px、40px、48px
|
||||
- レイアウトスペーシングスケール:16px、24px、32px、48px、64px、80px、96px、160px
|
||||
- ミニユニット:8px(最小使用可能スペーシング)
|
||||
- コンポーネント内パディング:通常16px
|
||||
- カード/タイル間のギャップ:1px(ヘアライン)または16px(標準)
|
||||
|
||||
### グリッド&コンテナ
|
||||
- 16カラムグリッド(Carbonの2xグリッドシステム)
|
||||
- 最大コンテンツ幅:1584px(最大ブレークポイント)
|
||||
- カラムガター:32px(モバイル16px)
|
||||
- マージン:16px(モバイル)、32px(タブレット以上)
|
||||
- コンテンツは読みやすい行長のため通常8〜12カラムにまたがる
|
||||
- 全幅セクションと制限コンテンツが交互に
|
||||
|
||||
### ホワイトスペース哲学
|
||||
- **機能的密度**:Carbonは広大なホワイトスペースよりもプロダクティブな密度を好みます。セクションはコンシューマーデザインシステムと比べてタイトに詰まっています——これはIBMのエンタープライズDNAを反映しています。
|
||||
- **背景色ゾーニング**:セクション間に大きなパディングを置く代わりに、IBMは交互の背景色(白 → グレー10 → 白)を使用して最小限の縦スペースで視覚的な区切りを作ります。
|
||||
- **一定の48pxリズム**:主要セクションの遷移には48pxの縦スペーシングを使用します。ヒーローセクションは80px–96pxを使用する場合があります。
|
||||
|
||||
### ボーダー半径スケール
|
||||
- **0px**:プライマリボタン、インプット、タイル、カード——支配的なトリートメント。Carbonは根本的に矩形です。
|
||||
- **2px**:小さなインタラクティブ要素(タグ)に時々使用
|
||||
- **24px**:タグ/ラベル(ピル形——唯一の丸みある例外)
|
||||
- **50%**:アバターサークル、アイコンコンテナ
|
||||
|
||||
## 6. 深度&エレベーション
|
||||
|
||||
| レベル | トリートメント | 用途 |
|
||||
|-------|-----------|-----|
|
||||
| フラット(レベル0) | 影なし、`#ffffff`背景 | デフォルトページサーフェス |
|
||||
| レイヤー01 | 影なし、`#f4f4f4`背景 | カード、タイル、交互セクション |
|
||||
| レイヤー02 | 影なし、`#e0e0e0`背景 | レイヤー01内の昇格パネル |
|
||||
| レイズド | `0 2px 6px rgba(0,0,0,0.3)` | ドロップダウン、ツールチップ、オーバーフローメニュー |
|
||||
| オーバーレイ | `0 2px 6px rgba(0,0,0,0.3)` + ダークスクリム | モーダルダイアログ、サイドパネル |
|
||||
| フォーカス | `2px solid #0f62fe`インセット + `1px solid #ffffff` | キーボードフォーカスリング |
|
||||
| ボトムボーダー | ボトムエッジに`2px solid #161616` | アクティブインプット、アクティブタブインジケーター |
|
||||
|
||||
**影の哲学**:Carbonは意図的に影を避けます。IBMは主に背景色のレイヤリングで奥行きを実現します——影を追加するのではなく、徐々に暗くなるグレーのサーフェスを積み重ねます。これにより、階層が模擬光ではなく色の値で伝えられる、フラットで印刷物インスパイアの美学が生まれます。影はコンテンツの上に本当に浮かんでいる要素(ドロップダウン、ツールチップ、モーダル)にのみ使われます。この抑制により、稀な影が意味のあるインパクトを持ちます——Carbonで何かが浮かんでいるとき、それは重要です。
|
||||
|
||||
## 7. すべきこと・避けること
|
||||
|
||||
### すべきこと
|
||||
- ディスプレイサイズ(42px以上)にはIBM Plex Sansのウェイト300を使用——軽やかさは意図的なもの
|
||||
- 14pxボディテキストに0.16pxのレタースペーシング、12pxキャプションに0.32pxを適用
|
||||
- ボタン、インプット、カード、タイルには0pxのボーダー半径——矩形がシステムの言語
|
||||
- 実装時には`--cds-*`トークン名を参照(例:`--cds-button-primary`、`--cds-text-primary`)
|
||||
- 影ではなく背景色レイヤリング(白 → グレー10 → グレー20)で奥行きを表現
|
||||
- インプットフィールドのインジケーターにはボトムボーダー(ボックスではない)を使用
|
||||
- 48pxのデフォルトボタン高さとアイコン対応のための非対称パディングを維持
|
||||
- ブルー60(`#0f62fe`)を唯一のアクセントカラーとして適用——一つのブルーですべてを制する
|
||||
|
||||
### 避けること
|
||||
- ボタンのコーナーを丸めない——0px半径がCarbonのアイデンティティ
|
||||
- カードやタイルに影を使わない——フラットさが重要
|
||||
- 追加のアクセントカラーを導入しない——IBMのシステムはモノクローム+ブルー
|
||||
- ウェイト700(ボールド)を使わない——スケールは600(セミボールド)まで
|
||||
- ディスプレイサイズのテキストにレタースペーシングを追加しない——トラッキングは14px以下のみ
|
||||
- フルボーダーでインプットをボックス化しない——Carbonのインプットはボトムボーダーのみ
|
||||
- グラデーション背景を使わない——IBMのサーフェスはフラットなソリッドカラー
|
||||
- 8pxスペーシンググリッドから逸脱しない——すべての値は8で割り切れるべき(微調整には2pxと4px)
|
||||
|
||||
## 8. レスポンシブ動作
|
||||
|
||||
### ブレークポイント
|
||||
| 名前 | 幅 | 主な変化 |
|
||||
|------|-------|-------------|
|
||||
| Small (sm) | 320px | シングルカラム、ハンバーガーナビ、16pxマージン |
|
||||
| Medium (md) | 672px | 2カラムグリッド開始、コンテンツ拡張 |
|
||||
| Large (lg) | 1056px | フルナビゲーション表示、3〜4カラムグリッド |
|
||||
| X-Large (xlg) | 1312px | 最大コンテンツ密度、ワイドレイアウト |
|
||||
| Max | 1584px | 最大コンテンツ幅、マージン付きセンタリング |
|
||||
|
||||
### タッチターゲット
|
||||
- ボタン高さ:48pxデフォルト、最小40px(コンパクト)
|
||||
- ナビゲーションリンク:タッチ用48px行高
|
||||
- インプット高さ:40pxデフォルト、48pxラージ
|
||||
- アイコンボタン:48px正方形タッチターゲット
|
||||
- モバイルメニュー項目:全幅48px行
|
||||
|
||||
### 折りたたみ戦略
|
||||
- ヒーロー:ビューポートが縮まるにつれ60pxディスプレイ → 42px → 32px見出し
|
||||
- ナビゲーション:全水平マストヘッド → スライドアウトパネル付きハンバーガー
|
||||
- グリッド:4カラム → 2カラム → シングルカラム
|
||||
- タイル/カード:水平グリッド → 垂直スタック
|
||||
- 画像:アスペクト比を維持、max-width 100%
|
||||
- フッター:マルチカラムリンクグループ → スタックシングルカラム
|
||||
- セクションパディング:48px → 32px → 16px
|
||||
|
||||
### 画像の動作
|
||||
- `max-width: 100%`のレスポンシブ画像
|
||||
- 製品イラストは比率を維持して拡縮
|
||||
- ヒーロー画像はサイドバイサイドからスタック下部にシフトする場合も
|
||||
- データビジュアライゼーションはモバイルでアスペクト比を維持し水平スクロール
|
||||
|
||||
## 9. エージェントプロンプトガイド
|
||||
|
||||
### クイックカラーリファレンス
|
||||
- プライマリCTA:IBMブルー60(`#0f62fe`)
|
||||
- 背景:ホワイト(`#ffffff`)
|
||||
- 見出しテキスト:グレー100(`#161616`)
|
||||
- ボディテキスト:グレー100(`#161616`)
|
||||
- セカンダリテキスト:グレー70(`#525252`)
|
||||
- サーフェス/カード:グレー10(`#f4f4f4`)
|
||||
- ボーダー:グレー30(`#c6c6c6`)
|
||||
- リンク:ブルー60(`#0f62fe`)
|
||||
- リンクホバー:ブルー70(`#0043ce`)
|
||||
- フォーカスリング:ブルー60(`#0f62fe`)
|
||||
- エラー:レッド60(`#da1e28`)
|
||||
- 成功:グリーン50(`#24a148`)
|
||||
|
||||
### コンポーネントプロンプト例
|
||||
- "白背景にヒーローセクションを作成。60px IBM Plex Sansウェイト300の見出し、行高1.17、色#161616。16pxウェイト400の副見出し、行高1.50、色#525252、最大幅640px。ブルーCTAボタン(#0f62fe背景、#ffffff テキスト、0pxボーダー半径、48px高さ、14px 63px 14px 15pxパディング)。"
|
||||
- "カードタイルをデザイン:#f4f4f4背景、0pxボーダー半径、16pxパディング。タイトルは20px IBM Plex Sansウェイト600、行高1.40、色#161616。ボディは14pxウェイト400、レタースペーシング0.16px、行高1.29、色#525252。ホバー時:背景が#e8e8e8にシフト。"
|
||||
- "フォームフィールドを構築:#f4f4f4背景、0pxボーダー半径、40px高さ、16px水平パディング。上部ラベルは12pxウェイト400、レタースペーシング0.32px、色#525252。ボトムボーダー:デフォルト2px solid transparent、フォーカス時2px solid #0f62fe。プレースホルダー:#6f6f6f。"
|
||||
- "ダークナビゲーションバーを作成:#161616背景、48px高さ。IBMロゴをホワイトで左揃え。リンクは14px IBM Plex Sansウェイト400、色#c6c6c6。ホバー:#ffffff テキスト。アクティブ:2pxボトムボーダー付き#ffffff。"
|
||||
- "タグコンポーネントを構築:ブルー10(#edf5ff)背景、ブルー60(#0f62fe)テキスト、4px 8pxパディング、24pxボーダー半径、12px IBM Plex Sansウェイト400。"
|
||||
|
||||
### イテレーションガイド
|
||||
1. ボタン、インプット、カードには常に0pxのボーダー半径——Carbonでは交渉の余地なし
|
||||
2. レタースペーシングは小サイズのみ:14pxで0.16px、12pxで0.32px——ディスプレイテキストには決して
|
||||
3. 3つのウェイト:300(ディスプレイ)、400(ボディ)、600(強調)——ボールドなし
|
||||
4. ブルー60が唯一のアクセントカラー——セカンダリアクセントを導入しない
|
||||
5. 奥行きは背景色レイヤリング(白 → `#f4f4f4` → `#e0e0e0`)から、影ではない
|
||||
6. インプットはボトムボーダーのみ、フルボックス化しない
|
||||
7. Carbon互換性を保つため`--cds-`プレフィックスのトークン命名を使用
|
||||
8. 48pxがユニバーサルなインタラクティブ要素の高さ
|
||||
Reference in new issue
Block a user