Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ben-eb/css-values
Validate CSS property value pairs.
https://github.com/ben-eb/css-values
Last synced: 19 days ago
JSON representation
Validate CSS property value pairs.
- Host: GitHub
- URL: https://github.com/ben-eb/css-values
- Owner: ben-eb
- License: mit
- Created: 2016-03-14T11:34:42.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-09-12T17:06:09.000Z (about 8 years ago)
- Last Synced: 2024-04-27T02:27:05.682Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 814 KB
- Stars: 63
- Watchers: 11
- Forks: 3
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
> Validate CSS property value pairs.
[![Build Status](https://travis-ci.org/ben-eb/css-values.svg?branch=master)][ci] [![NPM version](https://badge.fury.io/js/css-values.svg)][npm] [![Coverage Status](https://coveralls.io/repos/github/ben-eb/css-values/badge.svg?branch=master)](https://coveralls.io/github/ben-eb/css-values?branch=master)
_This project is in very early alpha stages. At present, around half of the
existing CSS specification is covered in a very limited capacity. Please feel
free to improve the functionality of this module, and test it out,_ **_but don't
yet rely on it in production!_**The aim of this project is to produce a module that can consume CSS
property/value pairs and validate them based on the actual CSS specification.
This is useful because it brings what is traditionally hidden away in online
documentation to automated tools such as linters. Indeed, with this data we can
cover all of these use cases (and others):* Remove invalid declarations which would be dropped by the browser.
* Lint properties to ensure correct syntax was being used.
* Enable text editor autocomplete for CSS values.
* Compute the Levenshtein distance between valid/invalid property values
(did you mean yellow? you entered yrllow).
* Automatically generate a skeleton W3C specification document based on grammar.css-values uses specification data gathered from Mozilla, with some overrides
that make it easier for the parser to operate smoothly. In addition, css-values
uses [Autoprefixer] to supplement values from the spec with proprietary browser
syntax. This is to ensure that css-values can let these values pass through as
valid, even though they are not to specification.[autoprefixer]: https://github.com/postcss/autoprefixer
## Property support
We support 254 of 361 CSS properties (70.36%).
* `-ms-overflow-style`
* `-moz-appearance`
* `-moz-binding`
* `-moz-float-edge`
* `-moz-force-broken-image-icon`
* `-moz-orient`
* `-moz-stack-sizing`
* `-moz-text-blink`
* `-moz-user-focus`
* `-moz-user-input`
* `-moz-user-modify`
* `-moz-window-shadow`
* `-webkit-border-before-color`
* `-webkit-border-before-style`
* `-webkit-border-before-width`
* `-webkit-clip-path`
* `-webkit-mask-attachment`
* `-webkit-mask-composite`
* `-webkit-mask-position`
* `-webkit-mask-repeat`
* `-webkit-mask-repeat-x`
* `-webkit-mask-repeat-y`
* `-webkit-tap-highlight-color`
* `-webkit-text-fill-color`
* `-webkit-text-stroke-color`
* `-webkit-text-stroke-width`
* `-webkit-touch-callout`
* `align-content`
* `align-items`
* `align-self`
* `all`
* `animation-delay`
* `animation-direction`
* `animation-duration`
* `animation-fill-mode`
* `animation-name`
* `animation-play-state`
* `animation-timing-function`
* `animation-iteration-count`
* `appearance`
* `backdrop-filter`
* `background-blend-mode`
* `backface-visibility`
* `background-attachment`
* `background-color`
* `background-clip`
* `background-image`
* `background-origin`
* `background-position`
* `background-repeat`
* `background-size`
* `border-block-end-color`
* `border-block-end-style`
* `border-block-end-width`
* `border-bottom-left-radius`
* `border-bottom-right-radius`
* `border-block-start-color`
* `border-block-start-style`
* `border-block-start-width`
* `border-bottom-color`
* `border-bottom-style`
* `border-bottom-width`
* `border-collapse`
* `border-color`
* `border-image-source`
* `border-inline-end-color`
* `border-inline-end-style`
* `border-inline-end-width`
* `border-inline-start-color`
* `border-inline-start-style`
* `border-inline-start-width`
* `border-left-color`
* `border-left-style`
* `border-left-width`
* `border-right-color`
* `border-right-style`
* `border-right-width`
* `border-style`
* `border-top-color`
* `border-top-left-radius`
* `border-top-right-radius`
* `border-top-style`
* `border-top-width`
* `border-width`
* `bottom`
* `box-align`
* `box-decoration-break`
* `box-direction`
* `box-flex`
* `box-flex-group`
* `box-lines`
* `box-ordinal-group`
* `box-orient`
* `box-pack`
* `box-sizing`
* `box-suppress`
* `break-after`
* `break-before`
* `break-inside`
* `caption-side`
* `clear`
* `clip-path`
* `color`
* `column-count`
* `column-fill`
* `column-gap`
* `column-rule-color`
* `column-rule-style`
* `column-rule-width`
* `column-span`
* `column-width`
* `direction`
* `display`
* `display-inside`
* `display-list`
* `display-outside`
* `empty-cells`
* `filter`
* `flex-direction`
* `flex-grow`
* `flex-shrink`
* `flex-wrap`
* `float`
* `font-kerning`
* `font-language-override`
* `font-size`
* `font-size-adjust`
* `font-stretch`
* `font-style`
* `font-variant-caps`
* `font-variant-position`
* `font-weight`
* `grid-auto-columns`
* `grid-auto-rows`
* `grid-column-gap`
* `grid-row-gap`
* `grid-template-areas`
* `hyphens`
* `image-rendering`
* `ime-mode`
* `initial-letter-align`
* `isolation`
* `justify-content`
* `left`
* `letter-spacing`
* `line-break`
* `line-height`
* `list-style-image`
* `list-style-position`
* `list-style-type`
* `mask-image`
* `margin-block-end`
* `margin-block-start`
* `margin-bottom`
* `margin-inline-end`
* `margin-inline-start`
* `margin-left`
* `margin-right`
* `margin-top`
* `marker-offset`
* `mask-composite`
* `mask-mode`
* `mask-origin`
* `mask-position`
* `mask-repeat`
* `mask-size`
* `mask-type`
* `max-block-size`
* `max-height`
* `max-inline-size`
* `max-width`
* `min-block-size`
* `min-height`
* `min-inline-size`
* `min-width`
* `mix-blend-mode`
* `motion-offset`
* `object-fit`
* `object-position`
* `offset-block-end`
* `offset-block-start`
* `offset-inline-end`
* `offset-inline-start`
* `opacity`
* `order`
* `orphans`
* `outline-color`
* `outline-offset`
* `outline-style`
* `outline-width`
* `overflow`
* `overflow-clip-box`
* `overflow-wrap`
* `overflow-x`
* `overflow-y`
* `padding-block-end`
* `padding-block-start`
* `padding-bottom`
* `padding-inline-end`
* `padding-inline-start`
* `padding-left`
* `padding-right`
* `padding-top`
* `page-break-after`
* `page-break-before`
* `page-break-inside`
* `perspective`
* `perspective-origin`
* `pointer-events`
* `position`
* `resize`
* `right`
* `ruby-align`
* `ruby-merge`
* `ruby-position`
* `scroll-behavior`
* `scroll-snap-coordinate`
* `scroll-snap-destination`
* `scroll-snap-type`
* `scroll-snap-type-x`
* `scroll-snap-type-y`
* `shape-image-threshold`
* `shape-margin`
* `tab-size`
* `table-layout`
* `text-align`
* `text-align-last`
* `text-decoration-color`
* `text-decoration-style`
* `text-emphasis-color`
* `text-orientation`
* `text-rendering`
* `text-shadow`
* `text-size-adjust`
* `text-transform`
* `top`
* `transform`
* `transform-box`
* `transform-style`
* `transition-delay`
* `transition-duration`
* `transition-timing-function`
* `unicode-bidi`
* `user-select`
* `vertical-align`
* `visibility`
* `white-space`
* `widows`
* `will-change`
* `word-break`
* `word-spacing`
* `word-wrap`
* `writing-mode`
* `z-index`## Contributors
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
| [
Ben Briggs](http://beneb.info)
[💻](https://github.com/ben-eb/css-values/commits?author=ben-eb) [📖](https://github.com/ben-eb/css-values/commits?author=ben-eb) 👀 [⚠️](https://github.com/ben-eb/css-values/commits?author=ben-eb) | [
Ivan Serniaev](https://github.com/delorge)
[💻](https://github.com/ben-eb/css-values/commits?author=delorge) [⚠️](https://github.com/ben-eb/css-values/commits?author=delorge) | [
Oleg-docent](https://github.com/Oleg-docent)
[💻](https://github.com/ben-eb/css-values/commits?author=Oleg-docent) [⚠️](https://github.com/ben-eb/css-values/commits?author=Oleg-docent) |
| :---: | :---: | :---: |🎨 Logo design by [Arina Efremova](https://facebook.com/arina.rish).
This project follows the [all-contributors] specification. Contributions of
any kind welcome!## License
[Template:CSSData] by Mozilla Contributors is licensed under [CC-BY-SA 2.5].
[template:cssdata]: https://developer.mozilla.org/en-US/docs/Template:CSSData
[cc-by-sa 2.5]: http://creativecommons.org/licenses/by-sa/2.5/
MIT © [Ben Briggs](http://beneb.info)
[all-contributors]: https://github.com/kentcdodds/all-contributors
[ci]: https://travis-ci.org/ben-eb/css-values
[npm]: http://badge.fury.io/js/css-values