ページ内ナビ
概要
CSSTools PostCSS Pluginsは標準化中のCSS featureを扱うplugin、plugin pack、parser/utility、CLI等をまとめたmonorepoです。代表的なpostcss-preset-envはCSSDBとBrowserslistから必要なtransformを選択し、Autoprefixerも含めてmodern CSSをtarget browser向けへ変換します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
標準CSS featureごとのPostCSS pluginを多数提供する
custom media、nesting、modern color、logical properties等、CSS specificationに沿うfeatureをbrowser向けCSSへ変換するplugin群を収録しています。
出典:[1]
postcss-preset-envで複数pluginをbrowser targetに応じて選択する
CSSDBのfeature support dataとBrowserslistを使い、target browserに不要なtransformをskipしながら必要なfallback/polyfillをまとめて適用します。
向いている用途
modern CSS syntaxをauthoringしつつlegacy/target browser向けoutputをbuildで生成したいprojectに向く
個別pluginを一つずつ管理する代わりに、browser policyとfeature stabilityを基準にPostCSS pipelineを更新したいfrontend buildへ適します。
出典:[3]
導入前の確認
すべての新CSS behaviorをCSSだけで完全polyfillできるわけではない
READMEは一部featureでcompanion client libraryが必要になる場合を明記しています。transform後CSSがnative behaviorと完全同等になるかはfeatureごとに確認してください。
出典:[3]
参考にした公式資料
- [1]CSSTools PostCSS Plugins README(2026-10-05)
- [2]CSSTools monorepo package metadata(2026-10-05)
- [3]postcss-preset-env README(2026-10-05)
- [4]postcss-preset-env 11.6.0 package metadata(2026-10-05)
- [5]postcss-preset-env changelog(2026-10-05)
- [6]CSSTools MIT-0 license(2026-10-05)
編集部からの補足
このrepositoryは多数のplugin・packageを個別version管理するmonorepoです。代表的なplugin packpostcss-preset-envは11.6.0で、Node.js >=20.19.0とPostCSS ^8.4を要求します。repo rootのprivate version 1.0.0を製品versionとして扱わない点に注意してください。
3ステップで試す
- 1
postcss-preset-env 11.6.0とPostCSSを導入する
Node.js 20.19.0以上で代表的なplugin packとPostCSSをversion固定します。
demo=$(mktemp -d "${TMPDIR:-/tmp}/csstools-preset-env.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact postcss@8.5.29 postcss-preset-env@11.6.0 - 2
modern CSSと変換scriptを作る
custom mediaとnestingを含むmodern CSSを、CSSDB featureを広く有効化したpresetで処理します。
printf "%s\n" '@custom-media --narrow (width <= 50rem);' '.card { color: rebeccapurple; @media (--narrow) { color: blue; } }' > input.css && printf "%s\n" "import fs from 'node:fs';" "import postcss from 'postcss';" "import postcssPresetEnv from 'postcss-preset-env';" "const css = fs.readFileSync('input.css', 'utf8');" "const result = await postcss([postcssPresetEnv({ stage: 0 })]).process(css, { from: 'input.css', to: 'output.css' });" "fs.writeFileSync('output.css', result.css);" > demo.mjs - 3
変換後CSSを確認する
custom mediaがtarget-compatibleなmedia queryへ変換され、元のdefinitionが除去されたことを確認します。
node demo.mjs && grep -q "max-width: 50rem" output.css && ! grep -q "@custom-media" output.css
成長
成長の推移 · 直近30日
1,057 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- normalize.css53,505 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
browserのuseful defaultを残しながら、default styleの差異と既知bugを補正する
CSS - cssnano4,978 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
PostCSS pluginをpresetとして組み合わせ、production CSSをmodularに圧縮する
CSS - Bootstrap174,991 Stars
共通タグ 3件 · 共通カテゴリ 1件
responsive grid・utility・componentをCSS/Sassとnative JavaScriptから組み立てるfrontend framework
MDX - Electron123,388 Stars
共通タグ 3件 · 共通カテゴリ 1件
ChromiumとNode.jsを同梱し、HTML・CSS・JavaScriptから3 OS向けdesktop appを構築するruntime
C++ - PostCSS28,974 Stars
共通タグ 3件 · 共通カテゴリ 1件
CSSをASTへ変換し、JavaScript pluginでbuild時のstyle処理を組み立てる
TypeScript - Autoprefixer22,211 Stars
共通タグ 3件 · 共通カテゴリ 1件
BrowserslistとCan I Use dataから必要なvendor prefixだけを自動生成する
JavaScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。