コンテンツにスキップ

PostCSS/プラグイン

出典: フリー教科書『ウィキブックス(Wikibooks)』

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ワークフローを構築できます。プロジェクトの要件に応じて、適切なプラグインを選択してください。