10.0.1 • Published 3 years ago

postcss-normalize v10.0.1

Weekly downloads
2,171,205
License
CC0-1.0
Repository
github
Last release
3 years ago

PostCSS Normalize

PostCSS Normalize lets you use the parts of normalize.css or sanitize.css that you need from your browserslist.

@import "normalize.css";
@import "sanitize.css";

PostCSS Normalize uses a non-opinionated version of normalize.css, but an opinionated version may also be used.

@import "normalize.css/opinionated.css";

Examples

Here is a sample of what normalize.css looks like when the browserslist is ie >= 9:

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

And here is the same sample when the browserslist is ie >= 10:

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

Usage

Add PostCSS Normalize to your project:

npm install postcss-normalize --save-dev

Add a browserslist entry in package.json:

{
  "browserslist": "last 2 versions"
}

Use PostCSS Normalize to process your CSS:

const postcssNormalize = require('postcss-normalize')

postcssNormalize.process(YOUR_CSS /*, processOptions, pluginOptions */)

Or use it as a PostCSS plugin:

const postcss = require('postcss')
const postcssNormalize = require('postcss-normalize')

postcss([
  postcssNormalize(/* pluginOptions */)
]).process(YOUR_CSS /*, processOptions */)

PostCSS Normalize runs in all Node environments, with special instructions for:

NodePostCSS CLIWebpackCreate React AppGulpGrunt

PostCSS Import Usage

PostCSS Normalize includes a postcssImport function to configure PostCSS Import and allow you to continue using the @import syntax.

const postcss = require('postcss')
const postcssImport = require('postcss-import')
const postcssNormalize = require('postcss-normalize')

postcss([
  postcssImport(
    postcssNormalize(
      /* pluginOptions (for PostCSS Normalize) */
    ).postcssImport(
      /* pluginOptions (for PostCSS Import) */
    )
  )
]) // now you can use @import "normalize.css", etc. again

Alternatively, use @import-normalize or @import-sanitize to avoid conflicts with @import transforms.

@import-normalize;
@import-normalize "opinionated.css";
@import-sanitize;

Options

allowDuplicates

The allowDuplicates option determines whether multiple, duplicate insertions of CSS libraries are allowed. By default, duplicate libraries are omitted.

postcssNormalize({ allowDuplicates: true })

forceImport

The forceImport option defines CSS libraries that will be inserted at the beginning of the CSS file. Unless overriden by allowDuplicates, duplicate CSS libraries would still be omitted.

postcssNormalize({ forceImport: true })

Specific CSS libraries may be defined.

postcssNormalize({
  forceImport: 'sanitize.css'
})

browsers

The browsers option defines an override of the project’s browserslist for PostCSS Normalize. This option should be avoided in leui of a browserslist file.

postcssNormalize({ browsers: 'last 2 versions' })

CSS Libraries

PostCSS Normalize can include normalize.css or sanitize.css and configure either with the following combinations:

@import "normalize"; /* also, @import "normalize.css" */
@import "normalize/opinionated"; /* also, @import "normalize.css/opinionated.css", @import "normalize.css/*" */
@import "sanitize"; /* also, @import "sanitize.css" */
@import "sanitize/assets"; /* also, @import "sanitize.css/assets.css" */
@import "sanitize/forms"; /* also, @import "sanitize.css/forms.css" */
@import "sanitize/reduce-motion"; /* also, @import "sanitize.css/reduce-motion.css" */
@import "sanitize/system-ui"; /* also, @import "sanitize.css/system-ui.css" */
@import "sanitize/typography"; /* also, @import "sanitize.css/typography.css" */
@import "sanitize/ui-monospace"; /* also, @import "sanitize.css/ui-monospace.css" */
@import "sanitize/*"; /* also, @import "sanitize.css/*" (sanitize + all additions) */
react-scriptsyoyuo-scripts@bsolution/dev@bsolution/fast@bsolution/scripts@proteria/react-scripts@uukit/scripts@savaleukhin/react-scripts@procore/core-scripts@talesman/react-scriptscarrier_anal@gd-uikit/react-scriptscbbpa-clientcc-gram-demo@teambit/reactreact-wind-uismart-input-demobyteplayerkstick-react-scriptswatsize-test-react-scripts@psimk/react-scriptsglobal-martcomatch-mvp-debugging@darapti/darapti-react-scriptsswitch_mostqroda-sdkqroda-sdk-v1metaliquid-react-scriptsrockywu-ui@tomas2d/react-scriptsjbojcic-react-scripts@jvhellemondt/custom-react-scripts@st4rfox/electron-scriptssv-component-librarysv-component-library-1sv-component-library-2@thuanpq/airvert-ui@xinyifly/react-scriptsmio-cli-service@katalabut/react-scriptsandculturecode-react-scriptswebeetle-react-scriptsyadong-react@agney/react-scripts-tailwindzackmoreplay-react-scriptsgooapps-react-opsthefarm-react-scripts@wywk/headquaters-marketing-eventconcord-ui-plugin-react-scriptssebrae-boilerplatesebrae-react-scripts@cloudhuset/zd-app-react-scriptsidelic-react-scriptstest-app-6test-app-7tm-components-test@jvhellemondt/react-scriptsearthling-interactive-react-scriptshoogo-niuyapingreact-epic-image-sliderpejann-scriptsmy-custom-react-jwplayerinversify-react-scriptselectron-cra-scriptsecom-catalogjs-advancedplatinion-paris-react-componentsreact-scripts-public-urlzula-bravosmartinput-reactstar-react-scripts@amajola/react-scripts@priyanknamdeo16/react-scripts@ashversache/toasterreactor-scripts-for-laravelorbit-shared-components@packages-pragma/react-appreact-cleanupreact-components-common-libraryprinter-editoroptym-react-scriptsreact-monorepo-react-scriptsjob-search-web@brielov/react-scriptsdigitalocean-react-scriptsplan8studios-react-scriptswatsize-react-scriptssfg-react-scriptsxxx-examplexianzhengquan-react-scriptssimple-react-image-browserezbobreact-app-no-enforcesoupe-react-scriptsreact-pipviewer@ochrstn/react-scriptsnacasha-react-scripts@romanmashta/react-scriptsandy-react-scriptsreact-firebase-provider
10.0.1

3 years ago

10.0.0

3 years ago

9.0.0

4 years ago

8.0.1

5 years ago

8.0.0

5 years ago

7.0.1

6 years ago

7.0.0

6 years ago

6.0.0

6 years ago

5.0.0

6 years ago

4.0.0

7 years ago

3.0.0

7 years ago

2.1.0

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.0

7 years ago

0.3.0

8 years ago

0.2.0

8 years ago

0.1.2

8 years ago

0.1.1

9 years ago

0.1.0

9 years ago