Skip to content

css-modules/postcss-modules-local-by-default

Repository files navigation

Build Status codecov npm

CSS Modules: Local by Default

Transformation examples:

Selectors (mode local, by default)::

.foo { ... } /* => */ :local(.foo) { ... } .foo .bar { ... } /* => */ :local(.foo) :local(.bar) { ... } /* Shorthand global selector */ :global .foo .bar { ... } /* => */ .foo .bar { ... } .foo :global .bar { ... } /* => */ :local(.foo) .bar { ... } /* Targeted global selector */ :global(.foo) .bar { ... } /* => */ .foo :local(.bar) { ... } .foo:global(.bar) { ... } /* => */ :local(.foo).bar { ... } .foo :global(.bar) .baz { ... } /* => */ :local(.foo) .bar :local(.baz) { ... } .foo:global(.bar) .baz { ... } /* => */ :local(.foo).bar :local(.baz) { ... }

Declarations (mode local, by default):

.foo { animation-name: fadeInOut, global(moveLeft300px), local(bounce); } .bar { animation: rotate 1s, global(spin) 3s, local(fly) 6s; } /* => */ :local(.foo) { animation-name: :local(fadeInOut), moveLeft300px, :local(bounce); } :local(.bar) { animation: :local(rotate) 1s, spin 3s, :local(fly) 6s; }

Pure Mode

In pure mode, all selectors must contain at least one local class or id selector

To ignore this rule for a specific selector, add the a /* cssmodules-pure-ignore */ comment in front of the selector:

/* cssmodules-pure-ignore */ :global(#modal-backdrop) { ...; }

or by adding a /* cssmodules-pure-no-check */ comment at the top of a file to disable this check for the whole file:

/* cssmodules-pure-no-check */ :global(#modal-backdrop) { ...; } :global(#my-id) { ...; }

Building

$ npm install $ npm test
  • Build: Build Status
  • Lines: coveralls
  • Statements: codecov

Development

$ yarn test:watch

License

MIT

With thanks


Mark Dalgleish, 2015.

About

PostCSS plugin for css modules to local-scope classes and ids

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 21