P

前端资源库

CSS 工具

PostCSS

用 JavaScript 转换 CSS 的工具,让 CSS 编写更高效、更灵活

200+
可用插件
35k+
GitHub 星标
8M+
周下载量
2013
首次发布

动画展示

看看 PostCSS 如何将现代 CSS 语法转换为兼容各种浏览器的代码

:root {
  --color-primary: #61dafb;
  --color-secondary: #a855f7;
}

.container {
  display: flex;
  gap: 2rem;
  background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
  transition: all 0.3s ease;
}

@custom-media --small-screen (max-width: 640px);

@media (--small-screen) {
  .container {
    flex-direction: column;
  }
}

示例展示了 PostCSS 如何处理 CSS 变量、Flexbox 前缀和自定义媒体查询

名字含义 & 起源

名字含义

"PostCSS" 这个名字来源于其工作方式 - 它在 CSS 处理流程中扮演"后期处理"(post-processing)的角色。 与传统的预处理器(如 Sass 或 Less)在编写时处理代码不同,PostCSS 通常在 CSS 代码编写完成后进行处理。

尽管名字中有"Post",但实际上 PostCSS 可以灵活地集成到构建流程的任何阶段,既可以作为预处理器使用,也可以作为后处理器使用。

起源

PostCSS 由俄罗斯开发者 Andrey Sitnik 于 2013 年创建。 他的目标是创建一个更灵活、更高效的 CSS 处理工具,与当时流行的预处理器相比,能够提供更好的扩展性。

最初,PostCSS 主要用于自动添加浏览器前缀。随着生态系统的发展,它逐渐成为一个完整的 CSS 处理平台,拥有数百个插件和广泛的应用场景。

PostCSS 时间线

2013
PostCSS 首次发布
2014
Autoprefixer 插件发布,获得广泛关注
2015
插件生态系统快速增长,超过100个插件
2017
版本 6.0 发布,性能大幅提升
至今
持续维护更新,成为前端开发必备工具之一

优点 & 缺点

了解 PostCSS 与其他 CSS 处理工具相比的优势和局限性

优点

高度可定制

只加载需要的插件,避免不必要的功能和性能开销

性能出色

处理速度通常比传统预处理器快,尤其是在大型项目中

活跃的插件生态

拥有200多个插件,涵盖从前缀添加到代码优化的各种功能

原生CSS支持

可以直接使用标准CSS语法,学习曲线较低

与现有工具集成

可以与Sass、Less等预处理器以及Webpack、Gulp等构建工具无缝集成

持续更新

快速跟进CSS标准的更新,支持最新的CSS特性

缺点

配置复杂

需要手动配置所需插件,对新手不够友好

插件质量参差不齐

部分插件可能维护不及时或存在兼容性问题

功能分散

核心功能有限,大部分功能依赖第三方插件

构建工具依赖

通常需要与构建工具集成,单独使用不够方便

调试难度增加

转换后的代码与源代码存在差异,可能增加调试难度

学习曲线

虽然基于CSS,但掌握插件生态系统需要额外学习

免费资源 & 使用方法

探索 PostCSS 的免费资源,快速开始使用这个强大的 CSS 处理工具

官方文档

完整的官方文档,包含安装指南、API 参考和插件开发教程。

访问文档

插件库

浏览超过 200 个官方和社区开发的插件,扩展 PostCSS 功能。

浏览插件

GitHub 仓库

查看源代码、提交 issues、参与开发,或了解最新的更新。

访问仓库

快速开始使用 PostCSS

1

安装 PostCSS

首先,确保你已经安装了 Node.js 和 npm。然后通过 npm 安装 PostCSS 及其 CLI:

npm install --save-dev postcss postcss-cli
2

安装所需插件

根据你的需求安装插件,例如自动添加浏览器前缀的 autoprefixer:

npm install --save-dev autoprefixer
3

创建配置文件

在项目根目录创建 postcss.config.js 文件,配置你安装的插件:

module.exports = {
  plugins: [
    require('autoprefixer')
  ]
}
4

运行 PostCSS

在 package.json 中添加脚本,或直接通过命令行运行:

# 直接运行
npx postcss src/css/style.css --output dist/css/style.css

# 或者添加到 package.json 脚本
"scripts": {
  "build:css": "postcss src/css/style.css --output dist/css/style.css"
}
5

集成到构建工具

大多数情况下,你会将 PostCSS 与 Webpack、Gulp 等构建工具集成:

// Webpack 配置示例
module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/i,
        use: [
          'style-loader',
          'css-loader',
          'postcss-loader',
        ],
      },
    ],
  },
};

社区评论

来自开发者社区的真实评价和使用体验分享

觉得有用?分享给朋友吧!

分享此页面,帮助更多开发者了解和使用 PostCSS