CssMediaRule
sealed class CssMediaRule : CssConditionRule, ICssMediaRule, ICssConditionRule, ICssGroupingRule, ICssRule
Represents a CSS @media rule.
using AngleSharp.Css;
using AngleSharp.Dom.Collections;
using AngleSharp.Extensions;
namespace AngleSharp.Dom.Css
{
internal sealed class CssMediaRule : CssConditionRule, ICssMediaRule, ICssConditionRule, ICssGroupingRule, ICssRule
{
private readonly MediaList _media;
public string ConditionText {
get {
return _media.MediaText;
}
set {
_media.MediaText = value;
}
}
public IMediaList Media => _media;
internal CssMediaRule()
: this(new MediaList())
{
}
internal CssMediaRule(MediaList media)
: base(CssRuleType.Media)
{
_media = media;
}
protected override void ReplaceWith(ICssRule rule)
{
base.ReplaceWith(rule);
CssMediaRule cssMediaRule = rule as CssMediaRule;
_media.Import(cssMediaRule._media);
}
internal override bool IsValid(RenderDevice device)
{
return _media.Validate(device);
}
protected override string ToCss()
{
return "@media " + _media.MediaText + " " + base.Rules.ToCssBlock();
}
}
}