A small plugin to allow you to scope your css with a custom selector
# pnpm
pnpm add postcss-scope --save-dev
# npm
npm install postcss-scope --save-dev
# yarn
yarn add postcss-scope --dev
// postcss.config.js
export default {
plugins: {
"postcss-scope": ".foo",
},
};
// postcss.config.js
export default {
plugins: {
"postcss-scope": [".foo", ".bar"],
},
};
// postcss.config.js
export default {
plugins: {
"postcss-import": {},
tailwindcss: {},
autoprefixer: {},
"postcss-scope": ".foo",
},
};
The default output for all files would look something like this, where .foo
is prepended on all rules. However, using CSS comments, you have more control over each file.
.foo .class {
font-size: 12px;
}
.foo #id {
font-size: 12px;
}
Add a comment to specify particular rules that should not be scoped
.foo .class {
font-size: 12px;
}
/* postcss-scope:ignore */
#id {
font-size: 12px;
}
Add a comment to specify files that the plugin should ignore
/* postcss-scope:ignore-file */
.class {
font-size: 12px;
}
#id {
font-size: 12px;
}
Add a comment to override the selector for a particular file
/* postcss-scope:.bar */
.bar .class {
font-size: 12px;
}
.bar #id {
font-size: 12px;
}