sunesimonsen-postcss-input-range
v2.1.0
Published
Style range inputs with unprefixed pseudo-classes
Downloads
6
Maintainers
Readme
Input Range
Input Range allows you to style input ranges with unprefixed selectors.
/* before */
::range-track {
background: #3071a9;
width: 100%;
}
::range-thumb {
border-radius: 3px;
cursor: pointer;
}
/* after */
::-moz-range-track {
background: #3071a9;
width: 100%;
}
::-ms-track {
background: #3071a9;
width: 100%;
}
::-webkit-slider-runnable-track {
background: #3071a9;
width: 100%;
}
::-moz-range-thumb {
border-radius: 3px;
cursor: pointer;
}
::-ms-thumb {
border-radius: 3px;
cursor: pointer;
}
::-webkit-slider-thumb {
border-radius: 3px;
cursor: pointer;
}
Supported selectors
::range-track
Styles the track of a range.
::range-thumb
Styles the thumb of a range.
::range-lower
Styles the lower track of a range before the thumb. Only supported in Firefox, Edge and IE 10+.
::range-upper
Styles the upper track of a range after the thumb. Only supported in Edge and IE 10+.
Usage
Add Input Range to your build tool:
npm install postcss-input-range --save-dev
Node
require('postcss-input-range')({ /* options */ }).process(YOUR_CSS);
PostCSS
Add PostCSS to your build tool:
npm install postcss --save-dev
Load Input Range as a PostCSS plugin:
postcss([
require('postcss-input-range')({ /* options */ })
]);
Gulp
Add Gulp PostCSS to your build tool:
npm install gulp-postcss --save-dev
Enable Input Range within your Gulpfile:
var postcss = require('gulp-postcss');
gulp.task('css', function () {
return gulp.src('./css/src/*.css').pipe(
postcss([
require('postcss-input-range')({ /* options */ })
])
).pipe(
gulp.dest('./css')
);
});
Grunt
Add Grunt PostCSS to your build tool:
npm install grunt-postcss --save-dev
Enable Input Range within your Gruntfile:
grunt.loadNpmTasks('grunt-postcss');
grunt.initConfig({
postcss: {
options: {
processors: [
require('postcss-input-range')({ /* options */ })
]
},
dist: {
src: 'css/*.css'
}
}
});
Options
method
Type: String
Default: 'replace'
clone
Copies any rules with ::range
pseudo-elements to new rules using prefixes.
/* before */
::range-thumb {
border-radius: 3px;
}
/* after */
::-moz-range-thumb {
border-radius: 3px;
}
::-ms-thumb {
border-radius: 3px;
}
::-webkit-slider-thumb {
border-radius: 3px;
}
::range-thumb {
border-radius: 3px;
}
replace
Copies any rules with ::range
pseudo-elements to new rules using prefixes while removing the original.
/* before */
::range-thumb {
border-radius: 3px;
}
/* after */
::-moz-range-thumb {
border-radius: 3px;
}
::-ms-thumb {
border-radius: 3px;
}
::-webkit-slider-thumb {
border-radius: 3px;
}
warn
Warns whenever a ::range
pseudo-class is found.
strict
Type: Boolean
Default: true
true
Ignores prefixed ::range
-type pseudo-classes.
/* before */
::-ms-thumb {
border-radius: 3px;
}
/* after */
::-ms-thumb {
border-radius: 3px;
}
false
Processes prefixed ::range
-type pseudo-classes.
/* before */
::-ms-thumb {
border-radius: 3px;
}
/* after */
::-moz-range-thumb {
border-radius: 3px;
}
::-ms-thumb {
border-radius: 3px;
}
::-webkit-slider-thumb {
border-radius: 3px;
}