PostCSS/プラグイン
< PostCSS
PostCSSのプラグインをカテゴリ別に紹介します。それぞれのプラグインのユースケースと基本的な使用法を説明します。
レイアウトとスタイリング関連プラグイン
編集Autoprefixer
編集- ユースケース: ブラウザ間の互換性を確保するため、ベンダープレフィックスを自動追加
- 使用例:
.example { display: flex; }
→ Autoprefixerにより、以下のように変換
.example { display: -webkit-box; display: -ms-flexbox; display: flex; }
CSS Modules
編集- ユースケース: CSSのスコープを局所化し、名前の衝突を防ぐ
- 使用例:
.button { background-color: blue; }
→ ユニークなクラス名に変換され、グローバルスコープを回避
最適化とパフォーマンス関連プラグイン
編集cssnano
編集- ユースケース: CSSのミニファイと最適化
- 機能:
- 空白や改行の削除
- 色の圧縮
- 重複する宣言の削除
Clean CSS
編集- ユースケース: CSSファイルのサイズ削減と最適化
- 特徴:
- 高度な最適化アルゴリズム
- マージと圧縮
変数と関数関連プラグイン
編集postcss-custom-properties
編集- ユースケース: CSS変数のサポートと変換
- 使用例:
:root { --main-color: blue; } .element { color: var(--main-color); }
postcss-functions
編集- ユースケース: カスタム関数の定義と使用
- 特徴:
- 数学的計算
- 色操作
- 条件分岐
互換性と変換関連プラグイン
編集postcss-preset-env
編集- ユースケース: 最新のCSS機能を古いブラウザでも使用可能に
- 機能:
- 最新のCSS仕様への対応
- ブラウザサポートの自動調整
PostCSS Custom Media
編集- ユースケース: メディアクエリの簡素化と変数化
- 使用例:
@custom-media --narrow-window (max-width: 30em); @media (--narrow-window) { /* レスポンシブスタイル */ }
その他の特殊プラグイン
編集postcss-import
編集- ユースケース: CSSファイルのインライン化とモジュール管理
- 機能:
- 外部CSSファイルの取り込み
- 依存関係の解決
stylelint
編集- ユースケース: CSSのコードスタイルチェックと品質保証
- 特徴:
- コーディング規約の強制
- エラーと警告の検出
導入方法の基本
編集これらのプラグインは通常、以下のように設定します:
const postcss = require('postcss'); const autoprefixer = require('autoprefixer'); const cssnano = require('cssnano'); postcss([ autoprefixer, cssnano ]).process(yourCss);
各プラグインは特定の目的に特化しており、組み合わせることで強力なCSSワークフローを構築できます。プロジェクトの要件に応じて、適切なプラグインを選択してください。