Class CssTokenizer
The CSS Syntax 3 tokenizer (section 4), with its input preprocessing.
public static class CssTokenizer
- Inheritance
-
CssTokenizer
- Inherited Members
Examples
// CSS Syntax 3 tokens, and component values: tokens, functions and simple blocks.
IReadOnlyList<CssToken> tokens = CssTokenizer.Tokenize("rgb(255 0 0 / 50%) 12px");
CssToken first = tokens[0];
bool isFunction = first.Kind == CssTokenKind.Function; // "rgb(" at line 1, column 1
IReadOnlyList<CssComponentValue> values = CssComponentValue.ParseList("calc(100% - 2px) [a] x");
var calc = (CssFunction)values[0];
var block = (CssSimpleBlock)values[2];
var word = (CssTokenValue)values[4];
string text = CssComponentValue.Serialize(values); // "calc(100% - 2px) [a] x"
Methods
Tokenize(string, CssParseOptions?)
Splits CSS text into tokens. Never throws: malformed input gives bad-string, bad-url or delim tokens and errors.
public static IReadOnlyList<CssToken> Tokenize(string css, CssParseOptions? options = null)
Parameters
cssstringThe CSS text.
optionsCssParseOptionsOptions whose Errors receives the tokenizer's parse errors.
Returns
- IReadOnlyList<CssToken>
The tokens, without a final EndOfFile token.
Examples
// CSS Syntax 3 tokens, and component values: tokens, functions and simple blocks.
IReadOnlyList<CssToken> tokens = CssTokenizer.Tokenize("rgb(255 0 0 / 50%) 12px");
CssToken first = tokens[0];
bool isFunction = first.Kind == CssTokenKind.Function; // "rgb(" at line 1, column 1
IReadOnlyList<CssComponentValue> values = CssComponentValue.ParseList("calc(100% - 2px) [a] x");
var calc = (CssFunction)values[0];
var block = (CssSimpleBlock)values[2];
var word = (CssTokenValue)values[4];
string text = CssComponentValue.Serialize(values); // "calc(100% - 2px) [a] x"