CssStyleRule
Represents a CSS style rule.
using AngleSharp.Parser.Css;
using System.IO;
using System.Linq;
namespace AngleSharp.Dom.Css
{
internal sealed class CssStyleRule : CssRule, ICssStyleRule, ICssRule, ICssNode, IStyleFormattable
{
public ISelector Selector {
get {
return base.Children.OfType<ISelector>().FirstOrDefault();
}
set {
ReplaceSingle(Selector, value);
}
}
public string SelectorText {
get {
return Selector.Text;
}
set {
Selector = base.Parser.ParseSelector(value);
}
}
ICssStyleDeclaration ICssStyleRule.Style {
get {
return Style;
}
}
public CssStyleDeclaration Style => base.Children.OfType<CssStyleDeclaration>().FirstOrDefault();
internal CssStyleRule(CssParser parser)
: base(CssRuleType.Style, parser)
{
AppendChild(SimpleSelector.All);
AppendChild(new CssStyleDeclaration(this));
}
public override void ToCss(TextWriter writer, IStyleFormatter formatter)
{
writer.Write(formatter.Style(SelectorText, Style));
}
}
}