2.1.0 • Published 7 years ago

sunesimonsen-postcss-input-range v2.1.0

Weekly downloads
2
License
CC0-1.0
Repository
github
Last release
7 years ago

Input Range Build Status

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;
}