AngleSharp by Florian Rappl

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

 CSSKeyframesRule

public sealed class CSSKeyframesRule : CSSRule
Represents an @keyframes rule.
using AngleSharp.Css; using System; namespace AngleSharp.DOM.Css { public sealed class CSSKeyframesRule : CSSRule { internal const string RuleName = "keyframes"; private CSSRuleList _cssRules; private string _name; public string Name { get { return _name; } set { _name = value; } } public CSSRuleList CssRules => _cssRules; internal CSSKeyframesRule() { _cssRules = new CSSRuleList(); _type = CssRule.Keyframes; } public CSSKeyframesRule AppendRule(string rule) { CSSKeyframeRule cSSKeyframeRule = CssParser.ParseKeyframeRule(rule, false); cSSKeyframeRule.ParentStyleSheet = _parent; cSSKeyframeRule.ParentRule = this; _cssRules.InsertAt(_cssRules.Length, cSSKeyframeRule); return this; } public CSSKeyframesRule DeleteRule(string key) { for (int i = 0; i < _cssRules.Length; i++) { if ((_cssRules[i] as CSSKeyframeRule).KeyText.Equals(key, StringComparison.OrdinalIgnoreCase)) { _cssRules.RemoveAt(i); break; } } return this; } public CSSKeyframeRule FindRule(string key) { for (int i = 0; i < _cssRules.Length; i++) { CSSKeyframeRule cSSKeyframeRule = _cssRules[i] as CSSKeyframeRule; if (cSSKeyframeRule.KeyText.Equals(key, StringComparison.OrdinalIgnoreCase)) return cSSKeyframeRule; } return null; } } }