|
using System;
using AngleSharp.DOM.Collections;
using AngleSharp.Css;
namespace AngleSharp.DOM.Css
{
/// <summary>
/// Represents a CSS style rule.
/// </summary>
[DOM("CSSStyleRule")]
public sealed class CSSStyleRule : CSSRule
{
#region Members
String _selectorText;
Selector _selector;
CSSStyleDeclaration _style;
#endregion
#region ctor
/// <summary>
/// Creates a new CSS style rule.
/// </summary>
internal CSSStyleRule()
{
_type = CssRule.Style;
_style = new CSSStyleDeclaration();
}
#endregion
#region Internal Properties
/// <summary>
/// Gets or sets the selector.
/// </summary>
internal Selector Selector
{
get { return _selector; }
set
{
_selector = value;
_selectorText = value.ToCss();
}
}
#endregion
#region Properties
/// <summary>
/// Gets or sets the textual representation of the selector for this rule, e.g. "h1,h2".
/// </summary>
[DOM("selectorText")]
public String SelectorText
{
get { return _selectorText; }
set
{
_selector = CssParser.ParseSelector(value);
_selectorText = value;
}
}
/// <summary>
/// Gets the CSSStyleDeclaration object for the rule.
/// </summary>
[DOM("style")]
public CSSStyleDeclaration Style
{
get { return _style; }
}
#endregion
#region String representation
/// <summary>
/// Returns a CSS code representation of the rule.
/// </summary>
/// <returns>A string that contains the code.</returns>
public override String ToCss()
{
return _selectorText + " {" + Environment.NewLine + _style.ToCss() + "}";
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Florian lives in Munich, Germany. He started his programming career with Perl. After programming C/C++ for some years he discovered his favorite programming language C#. He did work at Siemens as a programmer until he decided to study Physics.
During his studies he worked as an IT consultant for various companies. After graduating with a PhD in theoretical particle Physics he is working as a senior technical consultant in the field of home automation and IoT.
Florian has been giving lectures in C#, HTML5 with CSS3 and JavaScript, software design, and other topics. He is regularly giving talks at user groups, conferences, and companies. He is actively contributing to open-source projects. Florian is the maintainer of AngleSharp, a completely managed browser engine.