PostCSS Selector Not transforms :not() W3C CSS level 4 pseudo classes to :not() CSS level 3 selectors following the Selectors 4 Specification.
```pcss p:not(:first-child, .special) { color: red; }
/ becomes /
p:not(:first-child):not(.special) { color: red; } ```
⚠️ Only lists of simple selectors (:not(.a, .b)
) will work as expected.
Complex selectors (:not(.a > .b, .c ~ .d)
) can not be downgraded.
Add PostCSS Selector Not to your project:
bash
npm install postcss postcss-selector-not --save-dev
Use it as a PostCSS plugin:
```js const postcss = require('postcss'); const postcssSelectorNot = require('postcss-selector-not');
postcss([ postcssSelectorNot(/ pluginOptions /) ]).process(YOUR_CSS /, processOptions /); ```
PostCSS Selector Not runs in all Node environments, with special instructions for:
| Node | PostCSS CLI | Webpack | Create React App | Gulp | Grunt | | --- | --- | --- | --- | --- | --- |