Esempio n. 1
0
        IEnumerable <CssStyleRule> GetRules(CssRuleList rules)
        {
            foreach (var rule in rules)
            {
                if (rule.Type == CssRuleType.Media)
                {
                    var media = (CssMediaRule)rule;

                    if (media.IsValid(_device) == false)
                    {
                        continue;
                    }

                    var subrules = GetRules(media.Rules);

                    foreach (var subrule in subrules)
                    {
                        yield return(subrule);
                    }
                }
                else if (rule.Type == CssRuleType.Supports)
                {
                    var support = (CssSupportsRule)rule;

                    if (support.IsSupported == false)
                    {
                        continue;
                    }

                    var subrules = GetRules(support.Rules);

                    foreach (var subrule in subrules)
                    {
                        yield return(subrule);
                    }
                }
                else if (rule.Type == CssRuleType.Style)
                {
                    yield return((CssStyleRule)rule);
                }
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Converts the list of CSS rules to a CSS block string.
 /// </summary>
 /// <param name="rules">The list of CSS rules.</param>
 /// <returns>The block string representation.</returns>
 public static String ToCssBlock(this CssRuleList rules)
 {
     return(String.Concat("{ ", rules.CssText, rules.Length > 0 ? " }" : "}"));
 }