JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5807064
  • Score
    100M100P100Q242112F
  • License MIT-0

Use the :any-link pseudo-class in CSS

Package Exports

  • postcss-pseudo-class-any-link

Readme

PostCSS Pseudo Class Any Link PostCSS Logo

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 */);

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