|
using AngleSharp.DOM;
using AngleSharp.DOM.Collections;
using System;
namespace AngleSharp.DOM.Css
{
/// <summary>
/// Represent a stylesheet object.
/// </summary>
public class StyleSheet
{
#region Members
Element _owner;
StyleSheet _parent;
MediaList _media;
#endregion
#region ctor
/// <summary>
/// Creates a new style sheet.
/// </summary>
public StyleSheet()
{
_media = new MediaList();
}
/// <summary>
/// Creates a new style sheet included in another stylesheet.
/// </summary>
/// <param name="parent">The parent of the current stylesheet.</param>
public StyleSheet(StyleSheet parent)
: this()
{
_owner = parent._owner;
_parent = parent;
}
#endregion
#region Properties
/// <summary>
/// Gets the style sheet language for this style sheet.
/// </summary>
public String Type
{
get { return _owner != null ? (_owner.GetAttribute("type") ?? string.Empty) : string.Empty; }
}
/// <summary>
/// Gets or sets if the stylesheet is applied to the document. Modifying this attribute may cause a new resolution
/// of style for the document. If the media doesn't apply to the current user agent, the disabled attribute is ignored.
/// </summary>
public Boolean Disabled
{
get { return _owner != null ? (_owner.GetAttribute("disabled") != null) : false; }
set { if(_owner != null) _owner.SetAttribute("disabled", value ? string.Empty : null); }
}
/// <summary>
/// Gets the element that associates this style sheet with the document.
/// </summary>
public Element OwnerNode
{
get { return _owner; }
internal set { _owner = value; }
}
/// <summary>
/// Gets the parent stylesheet for style sheet languages that support the concept of style sheet inclusion.
/// </summary>
public StyleSheet ParentStyleSheet
{
get { return _parent; }
}
/// <summary>
/// Gets the value of the attribute, which is its location. For inline style sheets, the value of this attribute is null.
/// </summary>
public String Href
{
get { return _owner != null ? (_owner.GetAttribute("href") ?? string.Empty) : string.Empty; }
}
/// <summary>
/// Gets the advisory title. The title is often specified in the ownerNode.
/// </summary>
public String Title
{
get { return _owner != null ? (_owner.GetAttribute("title") ?? string.Empty) : string.Empty; }
}
/// <summary>
/// Gets the intended destination media for style information. The media is often specified in the ownerNode. If no
/// media has been specified, the MediaList is empty.
/// </summary>
public MediaList Media
{
get { return _media; }
}
#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.