3.5 KiB
PostCSS Pseudo Class Any Link
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;
}
From the proposal:
The
:any-link
pseudo-class represents an element that acts as the source anchor of a hyperlink. It matches an element if the element would match:link
or:visited
.
Usage
Add PostCSS Pseudo Class Any Link to your project:
npm install postcss postcss-pseudo-class-any-link --save-dev
Use PostCSS Pseudo Class Any Link 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:
Node | PostCSS CLI | Webpack | Create React App | Gulp | Grunt |
---|
Options
preserve
The preserve
option determines whether the original :any-link
rule 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, area[href] > span {
background-color: yellow;
}