You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

3.5 KiB

PostCSS Pseudo Class Any Link PostCSS Logo

NPM Version CSS Standard Status Build Status Discord

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.

'Can I use' table

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;
}