ページ内ナビ
概要
Spectrum CSSはAdobe Spectrum design languageの標準CSS実装です。design tokenをCSS custom propertiesとして供給し、button・page・typography等を独立したnpm packageとして必要な分だけ組み合わせます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
componentを個別packageとして必要な分だけ導入する
button、page、typography等は独立versionの@spectrum-css/* packageとして配布され、必要なcomponentとpeer dependencyだけをinstallできます。
design tokenとCSS custom propertiesでtheme・scaleを切り替える
@spectrum-css/tokensがSpectrum tokenをCSS custom propertiesとして提供し、visual language、color theme、scaleに応じたstyleを構成できます。
JavaScript frameworkに依存しないCSS layerとして利用する
Spectrum CSSはCSS-onlyで、ReactやWeb Components等の上位component implementationからも利用できるframework-agnosticなstyle layerです。
出典:[1]
向いている用途
Spectrum準拠のbrand/UIを複数frontend stackで共有したい場合に向く
同じtokenとcomponent CSSを異なるapplication stackで共有し、Adobe Spectrumのvisual languageへ揃えたい場合に適します。
出典:[1]
導入前の確認
interactionはCSSで表現できる範囲に限定される
READMEはSpectrum CSSがCSS-onlyであることを明記しています。複雑なinteractive componentにはSpectrum Web ComponentsやReact Spectrum、またはapplication側のlogicが必要です。
出典:[1]
参考にした公式資料
- [1]Spectrum CSS README(2026-10-05)
- [2]Spectrum CSS quick start(2026-10-05)
- [3]Spectrum CSS monorepo package metadata(2026-10-05)
- [4]@spectrum-css/tokens package metadata(2026-10-05)
- [5]@spectrum-css/page package metadata(2026-10-05)
- [7]Spectrum CSS Apache-2.0 license(2026-10-05)
編集部からの補足
Spectrum CSSはmonorepo全体で単一versionを持たず、component packageを個別versionで公開します。現在のmainではtokens 16.0.2、page 9.2.0、button 14.2.0です。CSS-onlyなのでinteractionはapplication側またはSpectrum Web Components/React Spectrum等が担います。
3ステップで試す
- 1
Spectrum CSSの最小component構成を導入する
current package metadataに合わせ、tokens・page・buttonを互換versionで固定します。
demo=$(mktemp -d "${TMPDIR:-/tmp}/spectrum-css.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact @spectrum-css/tokens@16.0.2 @spectrum-css/page@9.2.0 @spectrum-css/button@14.2.0 - 2
tokenとbutton CSSを読み込むHTMLを作る
Spectrum token、page context、button componentを読み込む公式Quick Startに沿った最小例を作ります。
printf "%s\n" '<!doctype html>' '<html class="spectrum spectrum--light spectrum--medium">' '<head><link rel="stylesheet" href="./node_modules/@spectrum-css/tokens/dist/css/index.css"><link rel="stylesheet" href="./node_modules/@spectrum-css/page/dist/index.css"><link rel="stylesheet" href="./node_modules/@spectrum-css/button/dist/index.css"></head>' '<body><button class="spectrum-Button spectrum-Button--fill spectrum-Button--accent spectrum-Button--sizeM"><span class="spectrum-Button-label">Button</span></button></body></html>' > index.html - 3
tokenとbutton classがpackageに含まれることを確認する
design token CSS custom propertiesとbutton variant classが配布artifactへ含まれることを確認します。
grep -q -- "--spectrum-" node_modules/@spectrum-css/tokens/dist/css/index.css && grep -q "spectrum-Button--accent" node_modules/@spectrum-css/button/dist/index.css
成長
成長の推移 · 直近30日
1,290 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- css
- design-system
- Stars
- 1,290
- Forks
- 214
- Watchers
- 46
- Open Issues
- 19
- 所有者種別
- Organization
- 主要言語
- CSS
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/04
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- CSSTools PostCSS Plugins1,057 Stars
共通タグ 3件 · 同じ言語
CSSDBとbrowser targetから必要な標準CSS transformを選び、PostCSS pipelineへまとめる
CSS - Electron123,388 Stars
共通タグ 3件
ChromiumとNode.jsを同梱し、HTML・CSS・JavaScriptから3 OS向けdesktop appを構築するruntime
C++ - PostCSS28,974 Stars
共通タグ 3件
CSSをASTへ変換し、JavaScript pluginでbuild時のstyle処理を組み立てる
TypeScript - Autoprefixer22,211 Stars
共通タグ 3件
BrowserslistとCan I Use dataから必要なvendor prefixだけを自動生成する
JavaScript - Less17,025 Stars
共通タグ 3件
変数・mixin・nestingを使うstylesheetをlesscで通常のCSSへcompileする
JavaScript - Stylelint11,526 Stars
共通タグ 3件
CSSのerrorとconventionを100以上のrule・plugin・shareable configで継続的に検査する
JavaScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。