https://github.com/csstools/postcss-input-range
Use unprefixed input range selectors in CSS
https://github.com/csstools/postcss-input-range
Last synced: 11 months ago
JSON representation
Use unprefixed input range selectors in CSS
- Host: GitHub
- URL: https://github.com/csstools/postcss-input-range
- Owner: csstools
- License: cc0-1.0
- Created: 2015-10-09T14:01:59.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2022-04-12T08:09:24.000Z (almost 4 years ago)
- Last Synced: 2024-04-14T04:01:07.834Z (almost 2 years ago)
- Language: JavaScript
- Homepage: https://github.com/jonathantneal/postcss-input-range
- Size: 40 KB
- Stars: 42
- Watchers: 6
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Input Range [
][postcss]
[![NPM Version][npm-img]][npm-url]
[](https://github.com/csstools/postcss-input-range/actions/workflows/test.yml)
[
][discord]
[Input Range] lets you style input ranges with unprefixed selectors.
```css
/* 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+.*
## Options
### `method`
Type: `String`
Default: `'replace'`
##### `clone`
Copies any rules with `::range` pseudo-elements to new rules using prefixes.
```css
/* 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.
```css
/* 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.
```css
/* before */
::-ms-thumb {
border-radius: 3px;
}
/* after */
::-ms-thumb {
border-radius: 3px;
}
```
##### `false`
Processes prefixed `::range`-type pseudo-classes.
```css
/* before */
::-ms-thumb {
border-radius: 3px;
}
/* after */
::-moz-range-thumb {
border-radius: 3px;
}
::-ms-thumb {
border-radius: 3px;
}
::-webkit-slider-thumb {
border-radius: 3px;
}
```
## Usage
Add [Input Range] to your build tool:
```bash
npm install postcss postcss-input-range --save-dev
```
#### Node
Use [Input Range] to process your CSS:
```js
require('postcss-input-range').process(YOUR_CSS);
```
#### PostCSS
Add [PostCSS] to your build tool:
```bash
npm install postcss --save-dev
```
Use [Input Range] as a plugin:
```js
postcss([
require('postcss-input-range')()
]).process(YOUR_CSS);
```
#### Gulp
Add [Gulp PostCSS] to your build tool:
```bash
npm install gulp-postcss --save-dev
```
Use [Input Range] in your Gulpfile:
```js
var postcss = require('gulp-postcss');
gulp.task('css', function () {
return gulp.src('./src/*.css').pipe(
postcss([
require('postcss-input-range')()
])
).pipe(
gulp.dest('.')
);
});
```
#### Grunt
Add [Grunt PostCSS] to your build tool:
```bash
npm install grunt-postcss --save-dev
```
Use [Input Range] in your Gruntfile:
```js
grunt.loadNpmTasks('grunt-postcss');
grunt.initConfig({
postcss: {
options: {
use: [
require('postcss-input-range')()
]
},
dist: {
src: '*.css'
}
}
});
```
[npm-url]: https://www.npmjs.com/package/postcss-input-range
[npm-img]: https://img.shields.io/npm/v/postcss-input-range.svg
[discord]: https://discord.gg/bUadyRwkJS
[Input Range]: https://github.com/csstools/postcss-input-range
[PostCSS]: https://github.com/postcss/postcss
[Gulp PostCSS]: https://github.com/postcss/gulp-postcss
[Grunt PostCSS]: https://github.com/nDmitry/grunt-postcss