SCSSをトークン化してみた. 6〜実際の利用

2026.01.09 09:00
2026.01.22 13:52
SCSSをトークン化してみた. 6〜実際の利用

前回はトークンを使うためのmixinを紹介しました。
今回は実際にトークンを使ってみます。

// テキスト
@include color('text', 'accent-primary');

// 背景
@include color('bg', 'default');

// 透過
@include color('overlay', 'dark');

ボーダー

// すべての辺に 1px・default 色の実線
@include border(); 
 → border: 1px solid #ddd;

// 上だけに 1px・default 色の実線
@include border('top', 'default');
→ border-top: 1px solid #ddd;

// 上だけに 2px・subtle 色の実線
@include border('bottom', 'subtle', '2px');

// 左だけに 4px・accent 色の破線
@include border('left', 'accent', '4px', 'dashed');

グラデーション

// 下に暗幕(タイトルを下に載せる系)
@include gradient('overlay-vignette-bottom');

// 右に抜ける暗幕(左側を読ませる系)
@include gradient('overlay-vignette-right');

文字

// 大見出し
@include typography('heading');

// 中見出し
@include typography('subheading');

// 小見出し
@include typography('microheading');

// バッヂ
@include typography('badge');

角丸

// 小さめ(ミニ要素向け)
@include radius('xs');
@include radius('sm');

// 標準(一般 UI)
@include radius('md');

// 大きめ(柔らかい印象)
@include radius('lg');

// 完全な円形
@include radius('full');

// ごく薄い影(境界づけ・非アクティブ向け)
@include shadow('faint');

// 基本影(カード・パネルの通常状態)
@include shadow('default');

// ホバー時の強調影
@include shadow('hover');

// モーダル・ドロップダウンなど上層要素
@include shadow('modal');

// しっかり黒い影(ダーク背景向け)
@include shadow('solid-black');

// 影なし(透明影で安全に無効化)
@include shadow('none');

トランジション

// 通常の状態
@include transition-preset('button');

// 変化時(hover)
@include transition-state('button', 'hover');

// 変化時(active)
@include transition-state('button', 'active');

ポジション

// 上にsm分空けて配置
@include pos('top', 'sm');

// 下にlg分空けて配置
@include pos('bottom', 'lg');

// 4辺0
@include pos('inset', 'none');

z-map

// 意図的に背面へ(背景装飾)
@include z('under');

// 通常のコンテンツ
@include z('base');

// 固定メニュー(簡易 UI)
@include z('fixed-menu');

// 軽いオーバーレイ背景(画像ビューア等)
@include z('overlay');

// sticky 要素(小さめヘッダー・表示制御 UI)
@include z('sticky');

// ドロワー本体(メニューなど)
@include z('drawer');

// ヘッダー全般
@include z('header');

// 左右ページナビ等
@include z('fixed-pager');

// モーダル背景オーバーレイ
@include z('modal-bg');

// モーダル本体
@include z('modal');

// ドロワー内メニュー
@include z('drawer-menu');

// ハンバーガーメニューボタン
@include z('drawer-menu-btn');

// ツールチップ / 最前面
@include z('tooltip');

こんな感じで使います。
こうやってセマンティックにすることで、
ばらつきを無くして統一感を持つことができ、
かつ無駄にパターンを量産しなくても済みますね。

今回は以上です!