CssMediaRule
sealed class CssMediaRule : CssConditionRule, ICssMediaRule, ICssConditionRule, ICssGroupingRule, ICssRule, ICssNode, IStyleFormattable, ICssRuleCreator
Represents a CSS @media rule.
using AngleSharp.Css;
using AngleSharp.Dom.Collections;
using AngleSharp.Parser.Css;
using System.IO;
using System.Linq;
namespace AngleSharp.Dom.Css
{
internal sealed class CssMediaRule : CssConditionRule, ICssMediaRule, ICssConditionRule, ICssGroupingRule, ICssRule, ICssNode, IStyleFormattable, ICssRuleCreator
{
public string ConditionText {
get {
return Media.MediaText;
}
set {
Media.MediaText = value;
}
}
public MediaList Media => base.Children.OfType<MediaList>().FirstOrDefault();
IMediaList ICssMediaRule.Media {
get {
return Media;
}
}
internal CssMediaRule(CssParser parser)
: base(CssRuleType.Media, parser)
{
AppendChild(new MediaList(parser));
}
internal override bool IsValid(RenderDevice device)
{
return Media.Validate(device);
}
public override void ToCss(TextWriter writer, IStyleFormatter formatter)
{
string rules = formatter.Block(base.Rules);
writer.Write(formatter.Rule("@media", Media.MediaText, rules));
}
}
}