AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.7.1" />

.NET API 1,175,040 bytes

 CssStyleRule

Represents a CSS style rule.
using AngleSharp.Parser.Css; namespace AngleSharp.Dom.Css { internal sealed class CssStyleRule : CssRule, ICssStyleRule, ICssRule, IStyleFormattable { private readonly CssStyleDeclaration _style; private ISelector _selector; public ISelector Selector { get { return _selector; } set { _selector = value; } } public string SelectorText { get { return _selector.Text; } set { ISelector selector = base.Parser.ParseSelector(value); if (selector != null) _selector = selector; } } ICssStyleDeclaration ICssStyleRule.Style { get { return _style; } } public CssStyleDeclaration Style => _style; internal CssStyleRule(CssParser parser) : base(CssRuleType.Style, parser) { _style = new CssStyleDeclaration(this); _selector = SimpleSelector.All; } protected override void ReplaceWith(ICssRule rule) { CssStyleRule cssStyleRule = (CssStyleRule)rule; _selector = cssStyleRule._selector; _style.Clear(); _style.SetDeclarations(cssStyleRule._style.Declarations); } public override string ToCss(IStyleFormatter formatter) { string rules = _style.ToCss(formatter); return formatter.Style(_selector.Text, rules); } } }