173 lines
6.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Date$ $Revision$ -->
<!--
*************************************************************************
* BEGINNING OF LEVEL TWO CSS *
*************************************************************************
-->
<div1 id="CSS">
<head>Document Object Model CSS</head>
<orglist role="editors">
<member>
<name>Chris Wilson</name>
<affiliation>Microsoft Corp.</affiliation>
</member>
<member>
<name>Philippe Le H&eacute;garet</name>
<affiliation>W3C</affiliation>
</member>
<member>
<name>Vidur Apparao</name>
<affiliation>Netscape Communications Corp.</affiliation>
</member>
</orglist>
<?GENERATE-MINI-TOC?>
<!--
******************************************************
| INTRODUCTION |
******************************************************
-->
<div2 id="CSS-overview">
<head>Overview of the DOM Level 2 CSS Interfaces</head>
<p>
The DOM Level 2 Cascading Style Sheets (<loc href="&CSS;">CSS</loc>)
interfaces are designed with the goal of exposing CSS constructs to
object model consumers. Cascading Style Sheets is a declarative syntax
for defining presentation rules, properties and ancillary constructs used
to format and render Web documents. This document specifies a mechanism
to programmatically access and modify the rich style and presentation
control provided by CSS (specifically CSS level 2 <bibref
ref='CSS2'/>). This augments CSS by providing a mechanism to dynamically
control the inclusion and exclusion of individual style sheets, as well
as manipulate CSS rules and properties.
</p>
<p>
The CSS interfaces are organized in a logical, rather than
physical structure. A collection of all style sheets
referenced by or embedded in the document is accessible on
the document interface. Each item in this collection exposes
the properties common to all style sheets referenced or embedded
in HTML and XML documents; this interface is described in the
<specref ref="StyleSheets"/>. User style sheets are
not accessible through this collection, in part due to potential
privacy concerns (and certainly read-write issues).
</p>
<p>
For each CSS style sheet, an additional interface is exposed - the
<code>CSSStyleSheet</code> interface. This interface allows access to
the collection of rules within a CSS style sheet and methods to modify
that collection. Interfaces are provided for each specific type of rule
in CSS2 (e.g. style declarations, <code>@import</code> rules, or
<code>@font-face</code> rules), as well as a shared generic
<code>CSSRule</code> interface.
</p>
<p>
The most common type of rule is a style declaration. The
<code>CSSStyleRule</code> interface that represents this type of rule
provides string access to the CSS selector of the rule, and access to the
property declarations through the <code>CSSStyleDeclaration</code>
interface.
</p>
<p>
Finally, an optional <code>CSS2Properties</code> interface is described;
this interface (if implemented) provides shortcuts to the string
values of all the properties in CSS level 2.
</p>
<p>
All CSS objects in the DOM are "live", that is, a change in the style sheet
is reflected in the computed and actual style.
</p>
</div2>
<div2 id="CSS-fundamental">
<head>CSS Fundamental Interfaces</head>
<p>
The interfaces within this section are considered fundamental CSS
interfaces, and must be supported by all conforming implementations of
the CSS module. These interfaces represent CSS style sheets specifically.
</p>
<p>
A DOM application may use the <code>hasFeature(feature, version)</code>
method of the <code>DOMImplementation</code> interface with parameter
values "CSS" and "2.0" (respectively) to determine whether or not this
module is supported by the implementation. In order to fully support this
module, an implementation must also support the "Core" feature defined
defined in the DOM Level 2 Core specification <bibref ref="DOMCore"/> and
the "Views" feature defined in the DOM Level 2 Views specification
<bibref ref="DOMViews"/>. Please refer to additional information about
<xspecref
href='&core.latest.url;/introduction.html#ID-Conformance'>conformance</xspecref>
in the DOM Level 2 Core specification <bibref ref="DOMCore"/>.
</p>
<definitions>
&css-cssstylesheet;
&css-cssrulelist;
&css-cssrule;
&css-cssstylerule;
&css-cssmediarule;
&css-cssfontfacerule;
&css-csspagerule;
&css-cssimportrule;
&css-csscharsetrule;
&css-cssunknownrule;
&css-cssstyledeclaration;
&css-cssvalue;
&css-cssprimitivevalue;
&css-cssvaluelist;
&css-rgbcolor;
&css-rect;
&css-counter;
</definitions>
<div3 id="CSS-OverrideAndComputed">
<head>Override and computed style sheet</head>
<definitions>
&css-viewcss;
&css-documentcss;
</definitions>
</div3>
<div3 id="CSS-StyleSheetCreation">
<head>Style sheet creation</head>
<definitions>
&css-domimplementationcss;
</definitions>
</div3>
<div3 id="CSS-htmlelementcss">
<head>Element with CSS inline style</head>
<definitions>
&css-elementcssinlinestyle;
</definitions>
</div3>
</div2>
<div2 id="CSS-extended">
<head>CSS2 Extended Interface</head>
<p>
The interface found within this section are not mandatory. A DOM
application may use the <code>hasFeature(feature, version)</code> method
of the <code>DOMImplementation</code> interface with parameter values
"CSS2" and "2.0" (respectively) to determine whether or not this module
is supported by the implementation. In order to fully support this
module, an implementation must also support the "CSS" feature defined
defined in <specref ref="CSS-fundamental"/>. Please refer to additional
information about <xspecref
href='&core.latest.url;/introduction.html#ID-Conformance'>conformance</xspecref>
in the DOM Level 2 Core specification <bibref ref="DOMCore"/>.
</p>
<definitions>
&css-css2properties;
</definitions>
</div2>
</div1>
<!--
*************************************************************************
* END OF LEVEL TWO CSS *
*************************************************************************
-->