Skip to content

Commit b467b1c

Browse files
committed
Add syntax lowering features to readme
1 parent 663de51 commit b467b1c

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ A WIP CSS parser, transformer, and minifier written in Rust.
88
- **Typed property values** – many other CSS parsers treat property values as an untyped series of tokens. This means that each transformer that wants to do something with these values must interpret them itself, leading to duplicate work and inconsistencies. `parcel-css` parses all values using the grammar from the CSS specification, and exposes a specific value type for each property.
99
- **Minification** – One of the main purposes of `parcel-css` is to minify CSS to make it smaller. This includes many optimizations including:
1010
- Combining longhand properties into shorthands where possible.
11-
- Merging adjacent rules with the same selectors or declarations.
11+
- Merging adjacent rules with the same selectors or declarations when it is safe to do so.
1212
- Combining CSS transforms into a single matrix or visa versa when smaller.
1313
- Removing vendor prefixes that are not needed, based on the provided browser targets.
1414
- Reducing `calc()` expressions where possible.
@@ -18,6 +18,15 @@ A WIP CSS parser, transformer, and minifier written in Rust.
1818
- Removing default property sub-values which will be inferred by browsers.
1919
- Many micro-optimizations, e.g. converting to shorter units, removing unnecessary quotation marks, etc.
2020
- **Vendor prefixing**`parcel-css` accepts a list of browser targets, and automatically adds (and removes) vendor prefixes.
21+
- **Syntax lowering**`parcel-css` parses modern CSS syntax, and generates more compatible output where needed, based on browser targets.
22+
- CSS Level 4 Color syntax
23+
- Space separated components in `rgb` and `hsl` functions
24+
- Hex with alpha syntax
25+
- Percent syntax for opacity
26+
- Double position gradient stops (e.g. `red 40% 80%`)
27+
- `clamp()` function
28+
- Alignment shorthands (e.g. `place-items`)
29+
- Two-value `overflow` shorthand
2130
- **CSS modules** – TODO
2231

2332
## Benchmarks

0 commit comments

Comments
 (0)