
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
postcss-normalize
Advanced tools
The postcss-normalize package integrates the normalize.css library with PostCSS, allowing developers to include normalize.css in their projects as a PostCSS plugin. This package helps in ensuring that browsers render all elements more consistently and in line with modern standards. It automatically imports the parts of normalize.css that you need, based on your project's browserlist configuration.
Browser normalization
Automatically includes the relevant parts of normalize.css based on the browsers specified in your project's browserlist. This feature ensures that your CSS behaves more consistently across different browsers.
postcss([ require('postcss-normalize')() ])
Customizable through browserlist
Allows customization of which parts of normalize.css to include by specifying browser versions in the browserlist. This helps in tailoring the normalization to only the necessary browsers, potentially reducing the CSS size.
postcss([ require('postcss-normalize')({ browsers: 'last 2 versions' }) ])
Similar to postcss-normalize, sanitize.css is a CSS library that provides consistent, cross-browser default styling for HTML elements. However, unlike postcss-normalize, it does not automatically adjust based on browserlist and must be included manually in your CSS.
modern-normalize is another CSS reset library that normalizes styles for a wide range of elements. It is similar to postcss-normalize but does not integrate directly with PostCSS as a plugin and must be included separately in your project.
PostCSS Normalize lets you use the parts of normalize.css you need, based on your project’s browserlist.
Example:
/* { "browserlist": ["last 3 versions"] } */
/**
* 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;
}
/* { "browserlist": ["last 2 versions"] } */
/**
* Remove the border on images inside links in IE 10-.
*/
img {
border-style: none;
}
PostCSS Normalize will put itself at the beginning of your CSS file, unless you dictate where it should be included:
@import-normalize;
Duplicate @import-normalize
rules will be removed for your convenience. Only
the first instance will be replaced.
PostCSS Normalize uses the non-opinionated version of normalize.css.
Add PostCSS Normalize to your build tool:
npm install postcss-normalize --save-dev
Add a browserlist entry in your package.json:
{
"browserslist": "last 2 versions"
}
Use PostCSS Normalize to process your CSS:
require('postcss-normalize').process(YOUR_CSS, { /* options */ });
Add PostCSS to your build tool:
npm install postcss --save-dev
Use PostCSS Normalize as a plugin:
postcss([
require('postcss-normalize')({ /* options */ })
]).process(YOUR_CSS, /* options */);
Add Gulp PostCSS to your build tool:
npm install gulp-postcss --save-dev
Use PostCSS Normalize in your Gulpfile:
var postcss = require('gulp-postcss');
gulp.task('css', function () {
return gulp.src('./src/*.css').pipe(
postcss([
require('postcss-normalize')({ /* options */ })
])
).pipe(
gulp.dest('.')
);
});
Add Grunt PostCSS to your build tool:
npm install grunt-postcss --save-dev
Use PostCSS Normalize in your Gruntfile:
grunt.loadNpmTasks('grunt-postcss');
grunt.initConfig({
postcss: {
options: {
use: [
require('postcss-normalize')({ /* options */ })
]
},
dist: {
src: '*.css'
}
}
});
3.0.0 (May 26, 2017)
@import-normalize
to avoid confusion or
collision with standard import behavior.FAQs
Use the parts of normalize.css or sanitize.css you need from your browserslist
The npm package postcss-normalize receives a total of 3,896,965 weekly downloads. As such, postcss-normalize popularity was classified as popular.
We found that postcss-normalize demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.