PostCSS 示例
本示例演示 PostCSS 与 autoprefixer 的集成。
测试功能
- PostCSS 插件
- Autoprefixer
- 自定义 PostCSS 配置
安装
安装 PostCSS 和插件:
bash
pnpm add -D postcss autoprefixer配置
js
import requireCSS from 'rollup-plugin-require-css'
import autoprefixer from 'autoprefixer'
export default {
input: 'src/index.js',
output: {
file: 'dist/index.js',
format: 'es'
},
plugins: [
requireCSS({
output: 'dist/style.css',
postcss: {
enabled: true,
plugins: [
autoprefixer({
overrideBrowserslist: ['> 1%', 'last 2 versions']
})
]
}
})
]
}源代码
src/index.js
js
import './styles.css'src/styles.css
css
.container {
display: flex;
align-items: center;
justify-content: space-between;
user-select: none;
}
.button {
appearance: none;
backdrop-filter: blur(10px);
transition: transform 0.2s ease;
}
.button:active {
transform: scale(0.95);
}试一试
bash
cd examples/postcss
pnpm install
pnpm run build
cat dist/style.css输出
dist/style.css
css
.container {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.button {
-webkit-appearance: none;
appearance: none;
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
-webkit-transition: -webkit-transform 0.2s ease;
transition: -webkit-transform 0.2s ease;
transition: transform 0.2s ease;
transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.button:active {
-webkit-transform: scale(0.95);
transform: scale(0.95);
}使用 PostCSS 配置文件
你也可以使用 postcss.config.js 文件:
js
// postcss.config.js
module.exports = {
plugins: [
require('autoprefixer')()
]
}然后在 Rollup 配置中:
js
requireCSS({
output: 'dist/style.css',
postcss: { enabled: true }
})