UnRoot replaces selectors containing :root
with html
. This can be useful for outputting CSS for older browsers like Internet Explorer 8.
/* before */
:root {
background-color: black;
color: white;
}
/* after */
html {
background-color: black;
color: white;
}
Follow these steps to use UnRoot.
Add UnRoot to your build tool:
npm install postcss-unroot --save-dev
require('postcss-unroot')({ /* options */ }).process(YOUR_CSS);
Add PostCSS to your build tool:
npm install postcss --save-dev
Load UnRoot as a PostCSS plugin:
postcss([
require('postcss-unroot')({ /* options */ })
]);
Add Gulp PostCSS to your build tool:
npm install gulp-postcss --save-dev
Enable UnRoot within your Gulpfile:
var postcss = require('gulp-postcss');
gulp.task('css', function () {
return gulp.src('./css/src/*.css').pipe(
postcss([
require('postcss-unroot')({ /* options */ })
])
).pipe(
gulp.dest('./css')
);
});
Add Grunt PostCSS to your build tool:
npm install grunt-postcss --save-dev
Enable UnRoot within your Gruntfile:
grunt.loadNpmTasks('grunt-postcss');
grunt.initConfig({
postcss: {
options: {
processors: [
require('postcss-unroot')({ /* options */ })
]
},
dist: {
src: 'css/*.css'
}
}
});
Type: String
Default: 'replace'
Replace any selectors with :root
with html
.
/* before */
:root {
color: red;
}
/* after */
html {
color: red;
}
Copy any selectors with :root
into a cloned rule as html
.
/* before */
:root {
color: red;
}
/* after */
html {
color: red;
}
:root {
color: red;
}
Warn when a :root
selector is used.