コンテンツにスキップ

考え方と原則

StrataCSSの関心事は、「予測しやすく、破綻しにくく、スケールしやすい基盤」を整えることです。

具体的な課題は「CSSをどのように管理するか」であり、プレフィックスを含むクラス命名規則や、CSSプロパティの記述に関する規則は含みません。

原則を中心とするため、最終的なルールは制作者自身(設計者)が定めます

3つの原則をもとに設計します。

3つの原則

StrataCSSが定める原則は次の通りです。

  1. Scoping : ページのスコープ(影響範囲)を定義・可視化する
  2. Layering : CSSの階層構造と @layer を定義する
  3. Aligning : 同じ言葉で「分類・構造・仕様」を一致させる

原則とは「土台となる基本的な考え方」であり、設計を行う際の指針となるものです。

以下、順に説明します。

1.Scoping: ページのスコープを分離する

CSSが影響するページの範囲を次の2つに分類します。

  1. サイト全域(Globalスコープ) … 全てのページで読み込むCSS
  2. ページ個別(Pagesスコープ)… 必要なページのみで読み込むCSS

従来から現場でおこなわれてきた手法を原則に引き上げ、ディレクトリで分けて管理することで、影響範囲を見た目で識別できるようにします。

位置づけ: 任意 ― プロジェクト特性により採用を判断

2.Layering: CSSの階層構造と @layer を定義する

多くのCSS設計手法が定義しているような、 base layout components などの「CSS分類」を定めます。そして、これらを階層化して「概念的なレイヤー構造」を定義します。

概念的なレイヤーとは、MCSSやITCSSが定める階層構造と上書きのルールと同義です。

このレイヤーに @layer を適用することで、概念と仕様を一致させます。

位置づけ: 構成要件 ― この手法の前提(外すと @layer 管理が成立しない)

3.Aligning: 同じ言葉で「分類・構造・仕様」を一致させる

「CSS分類の定義」、「ディレクトリ構造」、「 @layer の仕様」の3つは「同じ言葉」を利用します。 設計が変わっても一貫性を持たせることで、予測しやすい状態を維持します。

例)分類「Components」→ ディレクトリ components/@layer components

位置づけ: 推奨規律 ― 設計時に守ると予測可能性が得られる

StrataCSSの効果

上記3つの原則により、以下の効果を得られます。

  • 影響範囲が読める → 「全体か / ページ個別か」が分かり、変更しやすくなる
  • 衝突しにくい@layer で上書き順が決まり、詳細度競争が起きにくくなる
  • 混乱しない → 1つの分類名から、ディレクトリも @layer も辿りやすくなる

これらが合わさることで、分類の変更や増減をおこなっても、「予測しやすく、破綻しにくく、スケールしやすい」基盤になります。

次のステップ

次は、これらの原則をもとに、どのように実装に結びつけるかを説明します。

全体像と導入方法