Expand description
A simple CSS 2.1 parser and selector.
This is not a browser-grade CSS parser. If you need one, use cssparser + selectors.
Since it’s very simple we will start with limitations:
§Limitations
- At-rules are not supported. They will be skipped during parsing.
- Property values are not parsed.
In CSS like
* { width: 5px }
you will get awidth
property with a5px
value as a string. - CDO/CDC comments are not supported.
- Parser is case sensitive. All keywords must be lowercase.
- Unicode escape, like
\26
, is not supported.
§Features
- Selector matching support.
- The rules are sorted by specificity.
!important
parsing support.- Has a high-level parsers and low-level, zero-allocation tokenizers.
- No unsafe.
Structs§
- Declaration
- A declaration.
- Declaration
Tokenizer - A declaration tokenizer.
- Rule
- A rule.
- Selector
- A selector.
- Selector
Tokenizer - A selector tokenizer.
- Style
Sheet - A style sheet.
- TextPos
- A position in text.
Enums§
- Attribute
Operator - An attribute selector operator.
- Error
- A list of possible errors.
- Pseudo
Class - A pseudo-class.
- Selector
Token - A selector token.
Traits§
- Element
- A trait to query an element node metadata.