npm install postcss-pseudo-class-any-link --save-dev
PostCSS Pseudo Class Any Link lets you :any-link pseudo-class in CSS,
following the Selectors specification.
nav :any-link > span { background-color: yellow; } /* becomes */ nav :link > span, nav :visited > span { background-color: yellow; } nav :any-link > span { background-color: yellow; }
Usage
Add PostCSS Pseudo Class Any Link to your project:
npm install postcss postcss-pseudo-class-any-link --save-dev
Use it as a PostCSS plugin:
const postcss = require('postcss'); const postcssPseudoClassAnyLink = require('postcss-pseudo-class-any-link'); postcss([ postcssPseudoClassAnyLink(/* pluginOptions */) ]).process(YOUR_CSS /*, processOptions */);
PostCSS Pseudo Class Any Link runs in all Node environments, with special instructions for:
Options
preserve
The preserve option determines whether the original notation
is preserved. By default, it is preserved.
postcssPseudoClassAnyLink({ preserve: false })
nav :any-link > span { background-color: yellow; } /* becomes */ nav :link > span, nav :visited > span { background-color: yellow; }
subFeatures
areaHrefNeedsFixing
The subFeatures.areaHrefNeedsFixing option determines if <area href> elements should match :any-link pseudo-class.
In IE and Edge these do not match :link or :visited.
This increased CSS bundle size and is disabled by default.
postcssPseudoClassAnyLink({ subFeatures: { areaHrefNeedsFixing: true } })
nav :any-link > span { background-color: yellow; } /* becomes */ nav :link > span, nav :visited > span, nav area[href] > span { background-color: yellow; } nav :any-link > span { background-color: yellow; }