Hypertext markup language (HTML) is a markup language typically used to define the style, appearance, and/or structure of a document displayed in a Web browser. HTML and its successor languages, such as Extensible HTML (XHTML) have been generally used to define the style, appearance, and/or structure of Web pages from the very early stages of the World Wide Web (Web). Initially, markup tags that defined the structure, such as those defining headings, paragraphs, lists, tables, and the like (i.e., structural markup), were included along side markup tags that defined the style and appearance of the page content, such as bold, underlined, font, font size, and the like (i.e., stylistic markup). The addition of more and more stylistic markup generally made Web pages and Web sites look more and more interesting. However, with all of these stylistic markup, even the most basic Web pages typically became longer and more complicated. Therefore, creating and editing Web pages usually became more and more difficult.
Cascading Style Sheets (CSS) is a style sheet format language that was developed, in general, to control the styling of a Web document. Using CSS, developers are typically able to separate the style of a Web document from its structure and content. Thus, developers are generally able to define the style of an entire Web document by defining styles and applying those styles to the content and structure of the document. Because the style is applied to the content, one style may be applied to multiple sections of the document, reducing the size of the resulting Web page. Moreover, developers may change the entire appearance of a Web page by changing the CSS without effecting the content of the page.
CSS uses rules to define how a document should appear. These rules may be included within the same Web document, whether in a single location (such as the HTML <head> element) or inline with the element to be changed or in a separate, linked style document. A style may also be defined by name and then, subsequently, be applied to a particular element using a spanning tag around that element that calls and/or identifies the named style. A CSS rule typically includes a selector portion that defines to which elements or classes a rule will be applied, and a declaration that indicates the particular properties of an element that is to be changed, such as its typeface, font, color, and the like, and a value for the change to the particular property. One of the powerful features of CSS is that many of the properties that have been applied to a particular element may be inherited by child elements. If a more specific rule is placed within the document, the more specific rule will usually override any of the properties associated with the general rule. Therefore, the rules may cascade through the document.
CSS is a complicated set of rules that, while becoming a best-practices standard for controlling the style of Web documents, is typically used only by experienced Web developers because of its complexity. Web development environments have been developed that assist in the creation of CSS for Web pages. Such development environments, such as MICROSOFT CORPORATION's FRONTPAGE™, ADOBE SYSTEMS INC.'s GO LIVE™, and the like, each have included CSS editing tools that provide user-selectable CSS rules and styles to apply to the various elements and classes of the Web page being edited. CSS editors, in such development environments, allow developers to create styles that may be saved and easily applied to content within the Web page. While editing the content, some such development environments may present pull-down menus of the available styles to apply and may even provide a preview of how such an applied style will appear in the document. CSS editors also provide text-entry points to allow direct CSS coding by experienced Web developers. These CSS editors allow easier access to CSS coding. However, the Web developer typically is aware of any existing CSS tools and has some knowledge of CSS and how to apply it.