検索

Primitive Class

Lism では、レイアウトを組み立てる小さな積み木として Primitive クラス を提供しています。

  • is--{name}: 要素に静的な構造的特性 (trait) を与える Trait Primitive。
  • l--{name}: レイアウトの構成単位となる Layout Primitive。
  • a--{name}: レイアウトの最小単位となる Atomic Primitive。

これらを組み合わせることで複雑なレイアウトを構築でき、c-- で始まる Component Class はこれらの Primitive を組み合わせて作られた具体的な UI 部品として位置付けられます。

Primitive クラスはバリエーション(--outline 等)や子要素クラス(_header 等)を持たない、単体で機能するクラスです。BEM 構造を持つのは c-- の Component Class のみです。

併用ルール

組み合わせ可否備考
l-- × l--NG同カテゴリの併用は不可
a-- × a--NG同カテゴリの併用は不可
is-- × is--OKTrait は複数併用できる
l-- × is--OK
a-- × is--OK
l-- × a--非推奨役割的には同居しない想定
l-- × c--OK例: c--nav l--flex
a-- × c--OK

Trait Primitives

要素に対して汎用的につけ外しできる、静的な構造的特性を表す Primitive 群です。

クラス概要
is--containerコンテナクエリの基準要素を定義する
is--wrapperコンテンツ幅を制御するラッパー要素
is--layer親要素に重ねるオーバーレイレイヤー
is--boxLinkボックス全体をリンク化する
is--coverLink親要素全体に広がるクリック領域を持つリンク(→ is--boxLink 参照)
is--sidel--sideMain の side 要素用(→ l--sideMain 参照)
is--skipFlowl--flow 内で次の兄弟との余白を打ち消す(→ l--flow 参照)

Layout Primitives

レイアウトの構成単位となる Primitive 群です。

クラス概要
l--boxコンテンツをグループ化するシンプルな Primitive
l--flow子要素間の余白を自動管理する flow-root Primitive
l--frame直下のメディア要素を自身のサイズに合わせて表示
l--flexFlexbox でコンテンツを配置
l--cluster横方向に並べて自動折り返し
l--stack要素を縦方向に配置
l--sideMainサイドとメインの 2 カラムレイアウト
l--gridCSS Grid でコンテンツを配置
l--tileGrid均等な行列グリッド(タイル型レイアウト)
l--center上下左右中央揃えで配置
l--columnsブレイクポイントごとに列数を指定するカラムレイアウト
l--fluidColsカラム幅に応じて自動折り返す段組みレイアウト
l--switchCols複数列と 1 列を自動切り替え

Atomic Primitives

レイアウトの最小単位となる Primitive 群です。

クラス概要
a--decorator装飾用の空要素
a--dividerコンテンツ間の区切り線
a--iconSVG アイコンを出力
a--spacer要素間にスペースを確保する空要素

© Lism CSS. All rights reserved.