2000 年 11 月 13 日

2. 文档对象模型 CSS

编者
Chris Wilson, Microsoft Corp.
Philippe Le Hégaret, W3C
Vidur Apparao, Netscape Communications Corp.

目录

2.1. DOM 级别2 CSS 接口概览

设计 DOM 级别2 层叠样式表 (CSS) 接口的目的是将 CSS 结构展现在对象模型的使用者面前。层叠样式表是一种声明语法,用于定义格式化和描画 Web 文档的表达规则、属性和辅助结构。本文档规定了一种程序化读取和修改 CSS (特别是 CSS 级别2 [CSS2])) 中提供的丰富的样式和表达控制的机制。这种机制增强了 CSS,它可以动态地控制加入和移除单个的样式表,也可以动态地处理 CSS 规则和属性 。

这些 CSS 接口是以逻辑结构而非物理结构来组织的。通过文档接口可以存取其上引用或内嵌的所有样式表的集合。该集合中的每一项都展现了所有被引用或内嵌在 HTML 和 XML 文档中的样式表所共同具有的属性。样式表的接口在文档对象模型样式表中描述。用户定义的样式表并不能通过这个集合来存取,部分上是出于隐私的考虑(当然也有关于读写的问题)。

每一个 CSS 样式表另外还有一个对应的 CSSStyleSheet 接口。该接口允许存取 CSS 样式表内规则的集合以及修改这个集合的方法。CSS2 中每一种具体的规则都有其相对应的接口。(例如,样式声明(style declaration)、@import 规则或 @font-face 规则),这些规则有一个共享的通用接口 —— CSSRule 接口.

最常见的规则类型是样式声明。表示这种类型的规则 CSSStyleRule 接口 支持存取该规则中 CSS 选择符(selector)的字符串值,通过 CSSStyleDeclaration 接口也支持存取规则中的属性声明。

最后描述了一个可选的 CSS2Properties 接口。 该接口(如果实现了的话)提供了 CSS 级别2 中所有属性的字符串值。

文档对象模型中所有的 CSS 对象都是 "活着的",也就是说,样式表中的一个改变会反映到已计算的(computed)实际样式中。

2.2. CSS 基本接口

本节中的接口都是基本的 CSS 接口,所有 CSS 模块的一致实现都必须支持它们。这些接口明确表示了 CSS 样式表。

DOM 应用程序可以使用 DOMImplementation 接口中的方法 hasFeature(feature, version) (参数分别为 "CSS" 和 "2.0")来确定一个 DOM 实现是否支持本模块。一个实现要想能够完全支持本模块,它也必须同时支持 DOM 级别2 核心 规范 [DOM 级别2 核心] 中定义的 "核心" 特性,以及 DOM 级别2 视图 规范 [DOM 级别2 视图]中定义的“视图”特性。另请参阅 DOM 级别2 核心 规范 [DOM 级别2 核心]中一致性信息。

接口 CSSStyleSheetDOM 级别2中引入)

CSSStyleSheet 接口是表示一个 CSS 样式表的具体接口,即表示了内容类型(Content type)为"text/css"的样式表。


IDL 定义
// DOM 级别2 中引入:
interface CSSStyleSheet : stylesheets::StyleSheet {
  readonly attribute CSSRule          ownerRule;
  readonly attribute CSSRuleList      cssRules;
  unsigned long      insertRule(in DOMString rule, 
                                in unsigned long index)
                                        raises(DOMException);
  void               deleteRule(in unsigned long index)
                                        raises(DOMException);
};

属性
cssRules 类型 CSSRuleList, 只读
该样式表内所有的 CSS 规则的列表。列表中包括规则集合(rule set) at-规则(at-rules)
ownerRule 类型 CSSRule, 只读
如果该样式表来自于一个 @import 规则,这个 ownerRule 属性就包含一个 CSSImportRule。 这种情况下,该 StyleSheet 接口中的 ownerNode 属性为 null。 如果该样式表来自一个 DOM 元素或者处理指令,ownerRule 属性就是 null,而 ownerNode 属性会包含这个节点(Node)。
方法
deleteRule
从该样式表中删除一个规则。
参数
index 类型 unsigned long
要删除的规则在样式表规则列表中的索引。
异常

DOMException

INDEX_SIZE_ERR: 若给定的索引与样式表规则列表中的规则不一致。

NO_MODIFICATION_ALLOWED_ERR: 若该样式表是只读的。

无返回值
insertRule
在样式表中插入一条新的规则。插入后的新规则成为层叠规则的一部分。
参数
rule 类型 DOMString
表示该规则的可分析文本。如果是规则集合(rule set),这个文本包含选择符(selector)和样式声明。如果是规则,这个文本包含at-标识符和规则内容。
index 类型 unsigned long
样式表规则列表中某规则的索引,在该规则之前要插入指定规则。如果指定的索引等于样式表规则列表的长度,该指定规则将被插在样式表的末尾。
返回值

unsigned long

新插入的规则在样式表规则列表中的索引。

异常

DOMException

HIERARCHY_REQUEST_ERR: 若该规则不能被插在指定索引位置。比如,在一个标准的规则集合(rule set)或者其它at-规则之后插入一个 @import

INDEX_SIZE_ERR: 若给定的索引不是一个合法的插入点。

NO_MODIFICATION_ALLOWED_ERR: 若该样式表是只读的。

SYNTAX_ERR: 若给定的规则有语法错误而不可分析。

接口 CSSRuleListDOM 级别2中引入)

CSSRuleList 接口抽象了 CSS 规则的有序集合。

可以通过从0开始的整数索引来存取 CSSRuleList 中的项目。


IDL 定义
// DOM 级别2 中引入:
interface CSSRuleList {
  readonly attribute unsigned long    length;
  CSSRule            item(in unsigned long index);
};

属性
length 类型 unsigned long,只读
列表中 CSSRules 的个数。合法的子规则的索引是从 0length-1,包括 0length-1
方法
item
根据顺序索引来读取一个 CSS 规则。列表中规则的顺序就是它们在 CSS 样式表中的顺序。如果给定的索引大于等于列表中规则的个数,则返回 null
参数
index 类型 unsigned long
列表中的索引。
返回值

CSSRule

CSSRuleList 中第 index 个位置上的样式规则,或 null 若给定的索引不合法。

无异常
接口 CSSRuleDOM 级别2中引入)

CSSRule 接口是表示任何类型的 CSS 语句(statement)的抽象基接口。包括 规则集合(rule set)at-规则。 我们希望一个实现保留 CSS 样式表中所有的规则,即使是语法分析器不认识的规则。不认识的规则用 CSSUnknownRule 接口表示。


IDL 定义
// DOM 级别2 中引入:
interface CSSRule {

  // RuleType
  const unsigned short      UNKNOWN_RULE                   = 0;
  const unsigned short      STYLE_RULE                     = 1;
  const unsigned short      CHARSET_RULE                   = 2;
  const unsigned short      IMPORT_RULE                    = 3;
  const unsigned short      MEDIA_RULE                     = 4;
  const unsigned short      FONT_FACE_RULE                 = 5;
  const unsigned short      PAGE_RULE                      = 6;

  readonly attribute unsigned short   type;
           attribute DOMString        cssText;
                                        // 赋值时抛出 DOMException

  readonly attribute CSSStyleSheet    parentStyleSheet;
  readonly attribute CSSRule          parentRule;
};

定义组 RuleType

指明规则类型的一个整数。

定义的常量
CHARSET_RULE
规则为 CSSCharsetRule.
FONT_FACE_RULE
规则为 CSSFontFaceRule.
IMPORT_RULE
规则为 CSSImportRule.
MEDIA_RULE
规则为 CSSMediaRule.
PAGE_RULE
规则为 CSSPageRule.
STYLE_RULE
规则为 CSSStyleRule.
UNKNOWN_RULE
规则为 CSSUnknownRule.
属性
cssText 类型 DOMString
规则的可分析文本表示。这个文本反映的是规则的当前状态而不是其初始值。
赋值时的异常

DOMException

SYNTAX_ERR: 若给定的字符串有语法错误而不可分析。

INVALID_MODIFICATION_ERR: 若给定的字符串代表的规则类型与当前规则不符。

HIERARCHY_REQUEST_ERR: 若该规则不能被插在样式表的这个位置。

NO_MODIFICATION_ALLOWED_ERR: 若该规则是只读的。

parentRule 类型 CSSRule, 只读
若该规则被其它规则所包含(比如定义在 @media 块中的样式规则),该属性是包含该规则的规则。若该规则没有被其它任何规则所包含,则是 null.
parentStyleSheet 类型 CSSStyleSheet, readonly
包含该规则的样式表。
type 类型 unsigned short,只读
如前定义的规则类型。期待的做法是,根据 type 的值,使用具体的强制转换方法将 CSSRule 接口的实例转换成具体的规则接口。
接口 CSSStyleRuleDOM 级别2中引入)

CSSStyleRule 接口表示 CSS 样式表中的一个规则集合(rule set)


IDL 定义
// DOM 级别2 中引入:
interface CSSStyleRule : CSSRule {
           attribute DOMString        selectorText;
                                        // 赋值时抛出 DOMException

  readonly attribute CSSStyleDeclaration  style;
};

属性
selectorText 类型 DOMString
规则集合的选择符(selector)的文本表示。实现程序在分析选择符(selector)的时候可以忽略无意义的空白符。
赋值时的异常

DOMException

SYNTAX_ERR: 若给定的 CSS 字符串有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该规则是只读的。

style 类型 CSSStyleDeclaration, readonly
该规则集合的声明块(declaration block)
接口 CSSMediaRuleDOM 级别2 中引入)

CSSMediaRule 接口表示样式表中的 @media 规则。一个 @media 规则可以用来给不同媒体类型的样式规则划定界限。


IDL 定义
// DOM 级别2 中引入:
interface CSSMediaRule : CSSRule {
  readonly attribute stylesheets::MediaList  media;
  readonly attribute CSSRuleList      cssRules;
  unsigned long      insertRule(in DOMString rule, 
                                in unsigned long index)
                                        raises(DOMException);
  void               deleteRule(in unsigned long index)
                                        raises(DOMException);
};

属性
cssRules 类型 CSSRuleList,只读
该媒体块中所有 CSS 规则的列表。
media 类型 stylesheets::MediaList,只读
该规则适用的媒体类型的列表。
方法
deleteRule
从该媒体块中删除一条规则。
参数
index 类型 unsigned long
该媒体块规则集合中要删除的规则的索引。
异常

DOMException

INDEX_SIZE_ERR: 若给定的索引与媒体规则列表中要删除的规则不一致。

NO_MODIFICATION_ALLOWED_ERR: 若该媒体规则是只读的。

无返回值
insertRule
在该媒体块中插入一条新的规则。
参数
rule 类型 DOMString
规则的可分析文本。如果是规则集合,这个字符串既包括选择符也包括样式声明。如果是 at-规则,这个字符串指定了 at-标识符和规则的内容。
index 类型 unsigned long
媒体块规则列表中某规则的索引,在该规则之前要插入指定规则。若给定的索引等于媒体块规则列表的长度,该指定规则将被插在媒体块的末尾。
返回值

unsigned long

新插入的规则在媒体块规则列表中的索引。

异常

DOMException

HIERARCHY_REQUEST_ERR: 若该规则不能被插在指定索引位置。比如,在一个标准的规则集合(rule set)或者其它at-规则之后插入一个 @import。

INDEX_SIZE_ERR: 若给定的索引不是一个合法的插入点。

NO_MODIFICATION_ALLOWED_ERR: 若该媒体块是只读的。

SYNTAX_ERR: 若给定的规则有语法错误而不可分析。

接口 CSSFontFaceRuleDOM 级别2中引入)

CSSFontFaceRule 接口表示 CSS 样式表中的 @font-face 规则@font-face 规则用于包含一系列的字体的描述。


IDL 定义
// DOM 级别2 中引入:
interface CSSFontFaceRule : CSSRule {
  readonly attribute CSSStyleDeclaration  style;
};

属性
style 类型 CSSStyleDeclaration,只读
该规则的声明块
接口 CSSPageRuleDOM 级别2中引入)

CSSPageRule 接口表示 CSS 样式表中的 @page 规则@page 规则用于规定分页媒体中页面的尺寸、方向、边距等等。


IDL 定义
// DOM 级别2 中引入:
interface CSSPageRule : CSSRule {
           attribute DOMString        selectorText;
                                        // 赋值时抛出 DOMException

  readonly attribute CSSStyleDeclaration  style;
};

属性
selectorText 类型 DOMString
该规则的页选择符的可分析文本表示。
赋值时的异常

DOMException

SYNTAX_ERR: 若给定的 CSS 字符串有语法错误而不能分析。

NO_MODIFICATION_ALLOWED_ERR: 若该规则是只读的。

style 类型 CSSStyleDeclaration, readonly
该规则的声明块
接口 CSSImportRuleDOM 级别2中引入)

CSSImportRule 接口 CSS 中的 @import 规则@import 规则用于导入其它样式表中的规则。


IDL 定义
// DOM 级别2 中引入:
interface CSSImportRule : CSSRule {
  readonly attribute DOMString        href;
  readonly attribute stylesheets::MediaList  media;
  readonly attribute CSSStyleSheet    styleSheet;
};

属性
href 类型 DOMString,只读
要导入的样式表的位置。该属性不会包含 URI 周围的定义符 "url(...)"
media 类型 stylesheets::MediaList,只读
该样式表可能会使用的媒体类型的列表。
styleSheet 类型 CSSStyleSheet, readonly
该规则所引用的样式表(若其已被载入)。若该样式表还未被或永远不会被载入,则本属性的值为 null(比如,用户代理不支持某种媒体类型下的样式表。)
接口 CSSCharsetRuleDOM 级别2中引入)

CSSCharsetRule 接口表示 CSS 样式表中的 @charset 规则。 其 encoding 属性不影响 DOM 对象中的文本数据,这些数据总是用 UTF-16 编码。在一个样式表被装载以后,属性 encoding 的值就是定义在 @charset 规则中的值。如果原文档中没有 @charset,就不会有 CSSCharsetRule 生成。encoding 属性的值 也可以在样式表序列化(serialization)时所使用。

@charset 规则 (因而也就是 CSSCharsetRule)的值可以与其文档的编码不一样。字符编码(比如 HTTP 头中定义的字符编码信息)是有优先权的(参见 CSS 文档表示),但在接口 CSSCharsetRule 中并没有反映这一点。


IDL 定义
// DOM 级别2 中引入:
interface CSSCharsetRule : CSSRule {
           attribute DOMString        encoding;
                                        // 赋值时抛出 DOMException

};

属性
encoding 类型 DOMString
@charset规则中的编码信息。
赋值时的异常

DOMException

SYNTAX_ERR: 如果给定的编码值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该编码规则是只读的。

接口 CSSUnknownRuleDOM 级别2中引入)

CSSUnknownRule 接口表示当前用户代理不支持的at-规则。


IDL 定义
// DOM 级别2 中引入:
interface CSSUnknownRule : CSSRule {
};

接口 CSSStyleDeclarationDOM 级别2中引入)

CSSStyleDeclaration 接口表示一个 CSS 声明块。 本接口可以用来确定一个声明块中当前设置的样式属性,也可以用来显示地设置声明块中的样式属性。

尽管一个实现不需要认识一个 CSS 声明块所有的 CSS 属性,我们仍希望它能够提供方法,使得使用者通过 CSSStyleDeclaration 接口可以存取样式表中规定的所有样式属性。并且,支持了一个级别的实现同时也应该正确处理该级别下的 CSS 略写(shorthand)属性。有关略写属性的进一步讨论,参见 CSS2Properties 接口。

本接口也提供了对元素的已计算(computed)值只读存取。参见 ViewCSS 接口。

注意: CSS 对象模型并不支持存取 CSS 层叠算法中的规定的(specified)实际的(actual)值。


IDL 定义
// DOM 级别2 中引入:
interface CSSStyleDeclaration {
           attribute DOMString        cssText;
                                        // 赋值时抛出 DOMException

  DOMString          getPropertyValue(in DOMString propertyName);
  CSSValue           getPropertyCSSValue(in DOMString propertyName);
  DOMString          removeProperty(in DOMString propertyName)
                                        raises(DOMException);
  DOMString          getPropertyPriority(in DOMString propertyName);
  void               setProperty(in DOMString propertyName, 
                                 in DOMString value, 
                                 in DOMString priority)
                                        raises(DOMException);
  readonly attribute unsigned long    length;
  DOMString          item(in unsigned long index);
  readonly attribute CSSRule          parentRule;
};

属性
cssText 类型 DOMString
声明块的可分析文本表示(除去两边的大括号)。对该属性赋值会引起新的属性值被分析,同时声明块中的所有属性都被重新设置(包括属性的添加或删除)。
赋值时的异常

DOMException

SYNTAX_ERR: 若给定的 CSS 字符串有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 若该声明是只读的或者其中的一个属性是只读的。

length 类型 unsigned long,只读
该声明块中显示赋值的属性的个数。合法的索引范围是从0 到 length-1,包括 0 和 length-1。
parentRule 类型 CSSRule,只读
包含该声明块的 CSS 规则或 null 如果该 CSSStyleDeclaration 没有附加到任何的 CSSRule 中。
方法
getPropertyCSSValue
用于获取声明块中一个被显示赋值的 CSS 属性。若该属性是略写 属性则返回 null。略写属性只能通过 getPropertyValuesetProperty 方法被作为字符串来读取和修改。
参数
propertyName 类型 DOMString
该 CSS 属性的名字。参见 CSS 属性索引
返回值

CSSValue

若该属性在该声明块中被显示赋值则返回该属性的值,否则返回 null

无异常
getPropertyPriority
用于获取一个声明块中被显示赋值的 CSS 属性的优先级(比如,"important" 限定词)。
参数
propertyName 类型 DOMString
该 CSS 属性的名字。参见 CSS 属性索引
返回值

DOMString

表示优先级的字符串(比如 "important")。若不存在则返回一个空的字符串。

无异常
getPropertyValue
用于获取一个声明块中被显示赋值的 CSS 属性的值。
参数
propertyName 类型 DOMString
该 CSS 属性的名字。参见 CSS 属性索引
返回值

DOMString

若该属性在该声明块中被显示赋值则返回该属性的值,否则返回空的字符串。

无异常
item
用于获取声明块中被显示赋值的属性。通过本方法来获取属性的顺序不一定要和设置它们的顺序一样。本方法可以用来枚举该声明块中所有的属性。
参数
index 类型 unsigned long
该属性名的索引。
返回值

DOMString

在给定位置处的属性的名字。如果再此位置该属性不存在则返回空的字符串。

无异常
removeProperty
用于删除一个本声明块中显示赋值的 CSS 属性。
参数
propertyName 类型 DOMString
该 CSS 属性的名字。参见 CSS 属性索引
返回值

DOMString

若该属性在该声明块中被显示赋值则返回该属性的值。若该属性没有被显示赋值或者给定的名字不是已知的 CSS 属性。

异常

DOMException

NO_MODIFICATION_ALLOWED_ERR: 若该声明或者该属性是只读的。

setProperty
设置声明块中的一个属性的值和优先级。
参数
propertyName 类型 DOMString
该 CSS 的名字。参见 CSS 属性索引.
value 类型 DOMString
该属性的新值。
priority 类型 DOMString
该属性的新的优先级(比如 "important")。
异常

DOMException

SYNTAX_ERR: 若给定的值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 若该声明或该属性只读。

无返回值
接口 CSSValueDOM 级别2 中引入)

CSSValue 接口表示一个简单或复杂的 CSS 值。一个 CSSValue 对象只出现在 CSS 属性的上下文中。


IDL 定义
// DOM 级别2 中引入:
interface CSSValue {

  // UnitTypes
  const unsigned short      CSS_INHERIT                    = 0;
  const unsigned short      CSS_PRIMITIVE_VALUE            = 1;
  const unsigned short      CSS_VALUE_LIST                 = 2;
  const unsigned short      CSS_CUSTOM                     = 3;

           attribute DOMString        cssText;
                                        // 赋值时抛出 DOMException

  readonly attribute unsigned short   cssValueType;
};

定义组UnitTypes

指明值的单位类型的整数。

定义的常量
CSS_CUSTOM
该值是定制的。
CSS_INHERIT
该值是经继承得来的,cssText 的值是 "inherit"。
CSS_PRIMITIVE_VALUE
该值是原始类型。CSSPrimitiveValue 接口的实例可通过具体的强制转换方法由 CSSValue 接口的实例转换而来。
CSS_VALUE_LIST
该值是一个 CSSValue 的列表。CSSValueList 接口的实例可以通过具体的强制转换方法由 CSSValue 接口的实例转换而来。
属性
cssText 类型 DOMString
当前属性值的字符串表示。
赋值时的异常

DOMException

SYNTAX_ERR: 若给定的 CSS 字符串值有语法错误(依据其对应的属性来判断)或者不可分析。

INVALID_MODIFICATION_ERR: 若给定的 CSS 字符串值的类型与该属性的定义不同。

NO_MODIFICATION_ALLOWED_ERR: 若该值是只读的。

cssValueType 类型 unsigned short, readonly
表示如前所定义的值的类型。
接口 CSSPrimitiveValueDOM 级别2 中引入)

CSSPrimitiveValue 接口表示一个 CSS 值。通过本接口可以用于确定一个声明块中当前设置的样式属性的值,也可以用于明确地在声明块中设置一个样式属性的值。本接口的实例可以从 CSSStyleDeclaration 接口的 getPropertyCSSValue 方法获得。一个 CSSPrimitiveValue 对象只出现在 CSS 属性的上下文中。

可以在绝对的值之间做转换(从毫米到厘米,从角度到弧度,等等),但不能在相对的值之间做转换。(比如,一个像素值不能转成厘米值。)百分数不能转换,因为它总是相对于其父亲的值(或另一个属性值)。然而颜色百分数例外:因为颜色百分数是相对于范围 0-255 的,所以它可以转化成一个数。(参见 RGBColor接口)。


IDL 定义
// DOM 级别2 中引入:
interface CSSPrimitiveValue : CSSValue {

  // UnitTypes
  const unsigned short      CSS_UNKNOWN                    = 0;
  const unsigned short      CSS_NUMBER                     = 1;
  const unsigned short      CSS_PERCENTAGE                 = 2;
  const unsigned short      CSS_EMS                        = 3;
  const unsigned short      CSS_EXS                        = 4;
  const unsigned short      CSS_PX                         = 5;
  const unsigned short      CSS_CM                         = 6;
  const unsigned short      CSS_MM                         = 7;
  const unsigned short      CSS_IN                         = 8;
  const unsigned short      CSS_PT                         = 9;
  const unsigned short      CSS_PC                         = 10;
  const unsigned short      CSS_DEG                        = 11;
  const unsigned short      CSS_RAD                        = 12;
  const unsigned short      CSS_GRAD                       = 13;
  const unsigned short      CSS_MS                         = 14;
  const unsigned short      CSS_S                          = 15;
  const unsigned short      CSS_HZ                         = 16;
  const unsigned short      CSS_KHZ                        = 17;
  const unsigned short      CSS_DIMENSION                  = 18;
  const unsigned short      CSS_STRING                     = 19;
  const unsigned short      CSS_URI                        = 20;
  const unsigned short      CSS_IDENT                      = 21;
  const unsigned short      CSS_ATTR                       = 22;
  const unsigned short      CSS_COUNTER                    = 23;
  const unsigned short      CSS_RECT                       = 24;
  const unsigned short      CSS_RGBCOLOR                   = 25;

  readonly attribute unsigned short   primitiveType;
  void               setFloatValue(in unsigned short unitType, 
                                   in float floatValue)
                                        raises(DOMException);
  float              getFloatValue(in unsigned short unitType)
                                        raises(DOMException);
  void               setStringValue(in unsigned short stringType, 
                                    in DOMString stringValue)
                                        raises(DOMException);
  DOMString          getStringValue()
                                        raises(DOMException);
  Counter            getCounterValue()
                                        raises(DOMException);
  Rect               getRectValue()
                                        raises(DOMException);
  RGBColor           getRGBColorValue()
                                        raises(DOMException);
};

定义组 UnitTypes

整数,指明应用到该值上的单位类型。

定义的常量
CSS_ATTR
该值是一个 属性函数。它可以经 getStringValue 方法得到。
CSS_CM
该值是一个 长度 (cm)。它可以经 getFloatValue 方法得到。
CSS_COUNTER
该值是一个 计数器或计数器函数。它可以经 getCounterValue 方法得到。
CSS_DEG
该值是一个 角度 (deg)。它可以经 getFloatValue 方法得到。
CSS_DIMENSION
The value is a number with an unknown dimension. The value can be obtained by using the getFloatValue method.
CSS_EMS
该值是一个 长度 (ems)。用 getFloatValue 方法得到。
CSS_EXS
该值是一个 长度 (exs)。用 getFloatValue 方法得到。
CSS_GRAD
该值是一个 角度 (grad)。用 getFloatValue 方法得到。
CSS_HZ
该值是一个 频率 (Hz)。用 getFloatValue 方法得到。
CSS_IDENT
该值是一个 标识符。用 getStringValue 方法得到。
CSS_IN
该值是一个 长度 (in)。用 getFloatValue 方法得到。
CSS_KHZ
该值是一个 频率 (kHz)。用 getFloatValue 方法得到。
CSS_MM
该值是一个 长度 (mm)。用 getFloatValue 方法得到。
CSS_MS
该值是一个 时间 (ms)。用 getFloatValue 方法得到。
CSS_NUMBER
该值是一个简单的 。用 getFloatValue 方法得到。
CSS_PC
该值是一个 长度 (pc)。用 getFloatValue 方法得到。
CSS_PERCENTAGE
该值是一个 百分数。用 getFloatValue 方法得到。
CSS_PT
该值是一个 长度 (pt)。用 getFloatValue 方法得到。
CSS_PX
该值是一个 长度 (px)。用 getFloatValue 方法得到。
CSS_RAD
该值是一个 角度 (rad)。用 getFloatValue 方法得到。
CSS_RECT
该值是一个 矩形函数。用 getRectValue 方法得到。
CSS_RGBCOLOR
该值是一个 RGB 颜色。用 getRGBColorValue 方法得到。
CSS_S
该值是一个 时间 (s)。用 getFloatValue 方法得到。
CSS_STRING
该值是一个 字符串。用 getStringValue 方法得到。
CSS_UNKNOWN
该值不能被识别。只能通过 cssText 属性才能得到该值。
CSS_URI
该值是一个 URI。用 getStringValue 方法得到。
属性
primitiveType 类型 unsigned short,只读
如前所述的值的类型。
方法
getCounterValue
用于获取计数器的值。如果该 CSS 值没有包含计数器值,则抛出 DOMException。通过 Counter 接口可以修改对应的样式属性。
返回值

Counter

计数器值。

异常

DOMException

INVALID_ACCESS_ERR: 若该 CSS 值不包含计数器值(比如,它不是 CSS_COUNTER)。

无参数
getFloatValue
用于获取给定单位中的浮点数值。如果该 CSS 值没有包含浮点数值,或者它不能够转化成给定的单位,则抛出 DOMException
参数
unitType 类型 unsigned short
要获取的浮点数值的单位。它只能是浮点数值单位(即 CSS_NUMBER, CSS_PERCENTAGE, CSS_EMS, CSS_EXS, CSS_PX, CSS_CM, CSS_MM, CSS_IN, CSS_PT, CSS_PC, CSS_DEG, CSS_RAD, CSS_GRAD, CSS_MS, CSS_S, CSS_HZ, CSS_KHZ, CSS_DIMENSION)。
返回值

float

给定单位的浮点数。

异常

DOMException

INVALID_ACCESS_ERR: 若该 CSS 值不包含浮点数值,或者该浮点数值不能够转化到给定的单位。

getRGBColorValue
用于获取 RGB 颜色。如果该 CSS 值不包含 RGB 颜色值,则抛出 DOMException。通过 RGBColor 接口可以修改对应的样式属性。
返回值

RGBColor

RGB 颜色值。

异常

DOMException

INVALID_ACCESS_ERR: 若该属性不包含 RGB 颜色值 (比如,它不是 CSS_RGBCOLOR)。

无参数
getRectValue
用于获取矩形值。如果该 CSS 值不包含矩形值,则抛出 DOMException 。通过 Rect 接口可以修改对应的样式属性。
返回值

Rect

矩形值。

异常

DOMException

INVALID_ACCESS_ERR: 若该 CSS 值不包含矩形值。(比如,它不是 CSS_RECT)。

无参数
getStringValue
用于获取字符串值。如果该 CSS 值不包含字符串值,则抛出 DOMException

注意: 一些属性(象 'font-family' 'voice-family') 将一个用空白符分隔开的标识符列表转化为一个字符串。

返回值

DOMString

当前单位下的字符串值。当前 primitiveType 只能是字符串类型(即 CSS_STRING, CSS_URI, CSS_IDENTCSS_ATTR)。

异常

DOMException

INVALID_ACCESS_ERR: 若该 CSS 值不包含字符串值。

无参数
setFloatValue
设置浮点数值和单位。若该属性不支持给定的单位或浮点数,其值不变并抛出 DOMException
参数
unitType 类型 unsigned short
如前所定义的单位代码。该代码只能是浮点单位类型(即 CSS_NUMBER, CSS_PERCENTAGE, CSS_EMS, CSS_EXS, CSS_PX, CSS_CM, CSS_MM, CSS_IN, CSS_PT, CSS_PC, CSS_DEG, CSS_RAD, CSS_GRAD, CSS_MS, CSS_S, CSS_HZ, CSS_KHZ, CSS_DIMENSION)。
floatValue 类型 float
新的浮点值。
异常

DOMException

INVALID_ACCESS_ERR: 若该属性不接受给定的浮点数或单位类型。

NO_MODIFICATION_ALLOWED_ERR: 若该属性是只读的。

无返回值
setStringValue
设置字符串值和单位。若该属性不接受给定的单位或字符串值,其值不变并抛出 DOMException
参数
stringType 类型 unsigned short
如前所定义的单位代码。该代码只能是字符串单位代码(即 CSS_STRING, CSS_URI, CSS_IDENT,和 CSS_ATTR)。
stringValue 类型 DOMString
新的字符串值。
异常

DOMException

INVALID_ACCESS_ERR: 若给定的 CSS 值中不包含字符串值或者该字符串值不能转换到给定的单位。

NO_MODIFICATION_ALLOWED_ERR: 若该属性是只读的。

无返回值
接口 CSSValueListDOM 级别2中引入)

CSSValueList 接口抽象了 CSS 值的有序集合。

有些属性的语法允许空列表。此时这些属性的值为 none 标识符。 因此,一个空列表意味着该属性有一个 none 的值。

通过从零开始的整数索引可以存取 CSSValueList 中的项目。


IDL 定义
// DOM 级别2 中引入:
interface CSSValueList : CSSValue {
  readonly attribute unsigned long    length;
  CSSValue           item(in unsigned long index);
};

属性
length 类型 unsigned long,只读
列表中 CSSValues 的个数。合法的索引范围是从 0length-1,包括 0length-1
方法
item
通过顺序索引获取 CSSValue。列表中属性值的顺序代表了其在 CSS 样式属性中的顺序。若给定索引大于等于列表中属性值的个数则返回 null
参数
index 类型 unsigned long
列表中的索引。
返回值

CSSValue

CSSValueList 中在第 index 个位置的 CSSValue,或者 null 若给定索引不合法。

无异常
接口 RGBColorDOM 级别2中引入)

RGBColor 接口用于表示任何的 RGB 颜色 值。这个接口反映着所对应样式属性的值。因而对 CSSPrimitiveValue 对象的修改将影响所对应的样式属性。

一个规定的(specified) RGB 颜色值是不会被裁减的(即使所给的数值超出了 0-255 或 0%-100%的范围)。而已计算的(computed) RGB 颜色根据输出的设备作裁减。

即使一个样式表只能包含整数的颜色值,在内部这个整数依然是用浮点数的形式来存储的,并且这个整数在规定的(specified)和已计算的(computed)样式中可以当作浮点数来使用。

一个百分比表示的颜色总可以转化成一个数值表示的颜色,反之亦然。


IDL 定义
// DOM 级别2 中引入:
interface RGBColor {
  readonly attribute CSSPrimitiveValue  red;
  readonly attribute CSSPrimitiveValue  green;
  readonly attribute CSSPrimitiveValue  blue;
};

属性
blue 类型 CSSPrimitiveValue, 只读
表示 RGB 颜色中的蓝色值。
green 类型 CSSPrimitiveValue,只读
表示 RGB颜色中的绿色值。
red 类型 CSSPrimitiveValue,只读
表示 RGB颜色中的红色值。
接口 RectDOM 级别2 中引入)

Rect 接口用于表示任何的 矩形 值。该接口反映着所对应的样式属性的值。因而,对 CSSPrimitiveValue 对象的修改将影响所对应的样式属性。


IDL 定义
// DOM 级别2 中引入:
interface Rect {
  readonly attribute CSSPrimitiveValue  top;
  readonly attribute CSSPrimitiveValue  right;
  readonly attribute CSSPrimitiveValue  bottom;
  readonly attribute CSSPrimitiveValue  left;
};

属性
bottom 类型 CSSPrimitiveValue,只读
该属性表示矩形的底边。
left 类型 CSSPrimitiveValue,只读
该属性表示矩形的左边。
right 类型 CSSPrimitiveValue,只读
该属性表示矩形的右边。
top 类型 CSSPrimitiveValue,只读
该属性表示矩形的上边。
接口 CounterDOM 级别2 中引入)

Counter 接口用于表示任何的 计数器或计数器函数值。本接口反映着所对应的样式属性的值。


IDL 定义
// DOM 级别2 中引入:
interface Counter {
  readonly attribute DOMString        identifier;
  readonly attribute DOMString        listStyle;
  readonly attribute DOMString        separator;
};

属性
identifier 类型 DOMString, readonly
该属性表示计数器的标识符。
listStyle 类型 DOMString,只读
This attribute is used for the style of the list.
separator of type DOMString, readonly
This attribute is used for the separator of the nested counters.

2.2.1. 覆盖(override)和已计算的(computed)样式表

接口 ViewCSSDOM 级别2 中引入)

本接口表示一个 CSS 视图。getComputedStyle 方法提供对一个元素的 已计算(computed)值的只读存取。

期待的做法是,ViewCSS 的实例可以通过具体的强制转换方法由 AbstractView 接口的实例转换而来。

既然一个已计算的(computed)样式已经和一个 Element 节点发生联系,如果从文档中删除该元素,相关联的 CSSStyleDeclarationCSSValue 就不再有效。


IDL 定义
// DOM 级别2 中引入:
interface ViewCSS : views::AbstractView {
  CSSStyleDeclaration getComputedStyle(in Element elt, 
                                       in DOMString pseudoElt);
};

方法
getComputedStyle
用于获取 [CSS2] 中定义的已计算的(computed)样式。
参数
elt 类型 Element
要计算样式的元素。本参数不能为 null.
pseudoElt 类型 DOMString
伪元素或 null 如果没有伪元素。
返回值

CSSStyleDeclaration

已计算的(computed)样式。返回的 CSSStyleDeclaration 是只读的,而且只含有绝对的值。

无异常
接口 DocumentCSSDOM 级别2中引入)

本接口表示一个带有 CSS 视图的文档。

getOverrideStyle 方法提供了一种机制,使用这种机制 DOM 作者可以立即影响一个元素的样式,而无需修改文档的显示链接的样式表或者元素的内嵌样式。在层叠算法出现在作者样式表之后的样式表被称为覆盖(override)样式表。这种样式表的优先级要高于作者样式表。 "!important" 声明的优先级仍然要高于正常的声明。覆盖样式表、作者样式表和用户样式表都可以包含 "!important" 声明。用户 "!important" 规则比覆盖和作者的 "!important" 规则的优先级都高,而覆盖 "!important" 规则的优先级高于作者的 "!important" 规则。

期待的做法是,DocumentCSS 接口的实例可以通过具体的强制转换方法由 Document 接口的实例转换而来。


IDL 定义
// DOM 级别2 中引入:
interface DocumentCSS : stylesheets::DocumentStyle {
  CSSStyleDeclaration getOverrideStyle(in Element elt, 
                                       in DOMString pseudoElt);
};

方法
getOverrideStyle
用于获取给定元素和伪元素的覆盖样式声明。
参数
elt 类型 Element
要修改样式的元素。本参数不能为 null。
pseudoElt 类型 DOMString
伪元素或 null 如果没有定义伪元素。
返回值

CSSStyleDeclaration

覆盖样式声明。

无异常

2.2.2. 样式表创建

接口 DOMImplementationCSS (introduced in DOM 级别2)

本接口允许 DOM 用户创建一个与文档上下文无关的 CSSStyleSheet。这里没有办法将这个新创建的 CSSStyleSheet 与 DOM 级别2 的文档相关联.


IDL 定义
// DOM 级别2 中引入:
interface DOMImplementationCSS : DOMImplementation {
  CSSStyleSheet      createCSSStyleSheet(in DOMString title, 
                                         in DOMString media)
                                        raises(DOMException);
};

方法
createCSSStyleSheet
创建一个新的 CSSStyleSheet
参数
title 类型 DOMString
建议的标题。参见小节 样式表接口
media 类型 DOMString
用逗号分隔开的与新的样式表相关联的媒体的列表。参见样式表接口
返回值

CSSStyleSheet

一个新的 CSS 样式表。

异常

DOMException

SYNTAX_ERR: 若给定的媒体字符串有语法错误而不可分析。

2.2.3. 带有 CSS 内嵌样式的元素

接口 ElementCSSInlineStyleDOM 级别2中引入)

附加到元素上的内嵌样式的信息是通过 style 属性来定义的。这些信息就是 HTML 元素 (或在其它模式、DTD 定义下的用同样方法使用 STYLE 属性的元素)的 STYLE 属性的内容。我们期望,当元素支持内嵌 CSS 样式信息时,ElementCSSInlineStyle 接口的实例可以通过具体的强制转换方法由 Element 接口强制转换而来。


IDL 定义
// DOM 级别2 中引入:
interface ElementCSSInlineStyle {
  readonly attribute CSSStyleDeclaration  style;
};

属性
style 类型 CSSStyleDeclaration, readonly
style 属性。

2.3. CSS2 扩展接口

本节中定义的接口不是强制性的。一个 DOM 应用程序可以使用接口 DOMImplementation 中的方法 hasFeature(feature,version)(参数依次为 "CSS2" 和 "2.0")来确定一个 DOM 实现是否支持本模块。一个实现要想能够完全支持本模块,它也必须同时支持 CSS 基本接口中的 "CSS" 特性。另请参阅 DOM 级别2 核心规范[DOM 级别2 核心]中的一致性信息。

接口 CSS2PropertiesDOM 级别2 中引入)

CSS2Properties 接口方便地提供了在一个 CSSStyleDeclaration 中读取和设置属性的机制。本接口中的所有属性都是 CSS2 中定义的属性。通过本接口获取一个属性与通过调用 CSSStyleDeclaration 接口中的方法 getPropertyValue 去获取一个属性是等效的。通过本接口设置一个属性与通过调用 CSSStyleDeclaration 接口中的方法 setProperty 去设置一个属性是等效的。

CSS 模块的一致实现(conformant implementation)并不需要实现 CSS2Properties 接口。如果一个实现的确实现了本接口,期待的做法是, CSS2Properties 接口的实例可以通过与语言相关的强制转换方法由 CSSStyleDeclaration 的实例转换而来。

如果一个 CSS 实现支持本接口,它就应该理解略写(shorthand)属性的具体语法,并能正确运用其语义。比如,当属性 margin 被设置的时候,该实现事实上要同时设置 marginTopmarginRightmarginBottommarginLeft 属性。

当处理 CSS "略写"(shorthand)属性的时候,该略写属性应当被分解为多个正常的非略写子属性,查询略写属性值的时候,返回的应当是与规则集合中的定义完全等价而长度又最短的形式。可是,如果不存在一个这样略写属性,当它加入到规则集合中后不改变该规则集合中已定义的非略写属性(也就是说,加入这个略写属性等价于加入一些规则集合中没有定义的非略写属性),那么查询略写属性的结果应当是空字符串。

举个例子,如果答案 "14pt Arial, sans-serif" 已经足够,那么查询 font 属性的结果就不应该是 "normal normal normal 14pt/normal Arial, sans-serif"。(那些 "normal" 是属性的初始值,即隐含值)。

如果组成一个略写字符串的所有的非略写属性的值都是初始值,那么应该返回一个包含所有初始值定义的字符串(比如对 border-width而言,应当返回 "medium" 而不是 "")。

一些属性定义了四个边的值,其中某些边未定义时可以从其它的边取值,比如 marginpadding,和 border-[width|style|color] 属性。 这时应当返回最少的边数。举个例子,应该返回 "0px 10px" 而不是 "0px 10px 0px 10px"。

如果一个略写属性不能被分解为非略写属性(比如当 font 属性的值为 "menu" 的时候),查询这些正常的非略写属性的结果应该是空字符串。


IDL 定义
// DOM 级别2 中引入:
interface CSS2Properties {
           attribute DOMString        azimuth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        background;
                                        // 赋值时抛出 DOMException

           attribute DOMString        backgroundAttachment;
                                        // 赋值时抛出 DOMException

           attribute DOMString        backgroundColor;
                                        // 赋值时抛出 DOMException

           attribute DOMString        backgroundImage;
                                        // 赋值时抛出 DOMException

           attribute DOMString        backgroundPosition;
                                        // 赋值时抛出 DOMException

           attribute DOMString        backgroundRepeat;
                                        // 赋值时抛出 DOMException

           attribute DOMString        border;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderCollapse;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderColor;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderSpacing;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderStyle;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderTop;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderRight;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderBottom;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderLeft;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderTopColor;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderRightColor;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderBottomColor;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderLeftColor;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderTopStyle;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderRightStyle;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderBottomStyle;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderLeftStyle;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderTopWidth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderRightWidth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderBottomWidth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderLeftWidth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        borderWidth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        bottom;
                                        // 赋值时抛出 DOMException

           attribute DOMString        captionSide;
                                        // 赋值时抛出 DOMException

           attribute DOMString        clear;
                                        // 赋值时抛出 DOMException

           attribute DOMString        clip;
                                        // 赋值时抛出 DOMException

           attribute DOMString        color;
                                        // 赋值时抛出 DOMException

           attribute DOMString        content;
                                        // 赋值时抛出 DOMException

           attribute DOMString        counterIncrement;
                                        // 赋值时抛出 DOMException

           attribute DOMString        counterReset;
                                        // 赋值时抛出 DOMException

           attribute DOMString        cue;
                                        // 赋值时抛出 DOMException

           attribute DOMString        cueAfter;
                                        // 赋值时抛出 DOMException

           attribute DOMString        cueBefore;
                                        // 赋值时抛出 DOMException

           attribute DOMString        cursor;
                                        // 赋值时抛出 DOMException

           attribute DOMString        direction;
                                        // 赋值时抛出 DOMException

           attribute DOMString        display;
                                        // 赋值时抛出 DOMException

           attribute DOMString        elevation;
                                        // 赋值时抛出 DOMException

           attribute DOMString        emptyCells;
                                        // 赋值时抛出 DOMException

           attribute DOMString        cssFloat;
                                        // 赋值时抛出 DOMException

           attribute DOMString        font;
                                        // 赋值时抛出 DOMException

           attribute DOMString        fontFamily;
                                        // 赋值时抛出 DOMException

           attribute DOMString        fontSize;
                                        // 赋值时抛出 DOMException

           attribute DOMString        fontSizeAdjust;
                                        // 赋值时抛出 DOMException

           attribute DOMString        fontStretch;
                                        // 赋值时抛出 DOMException

           attribute DOMString        fontStyle;
                                        // 赋值时抛出 DOMException

           attribute DOMString        fontVariant;
                                        // 赋值时抛出 DOMException

           attribute DOMString        fontWeight;
                                        // 赋值时抛出 DOMException

           attribute DOMString        height;
                                        // 赋值时抛出 DOMException

           attribute DOMString        left;
                                        // 赋值时抛出 DOMException

           attribute DOMString        letterSpacing;
                                        // 赋值时抛出 DOMException

           attribute DOMString        lineHeight;
                                        // 赋值时抛出 DOMException

           attribute DOMString        listStyle;
                                        // 赋值时抛出 DOMException

           attribute DOMString        listStyleImage;
                                        // 赋值时抛出 DOMException

           attribute DOMString        listStylePosition;
                                        // 赋值时抛出 DOMException

           attribute DOMString        listStyleType;
                                        // 赋值时抛出 DOMException

           attribute DOMString        margin;
                                        // 赋值时抛出 DOMException

           attribute DOMString        marginTop;
                                        // 赋值时抛出 DOMException

           attribute DOMString        marginRight;
                                        // 赋值时抛出 DOMException

           attribute DOMString        marginBottom;
                                        // 赋值时抛出 DOMException

           attribute DOMString        marginLeft;
                                        // 赋值时抛出 DOMException

           attribute DOMString        markerOffset;
                                        // 赋值时抛出 DOMException

           attribute DOMString        marks;
                                        // 赋值时抛出 DOMException

           attribute DOMString        maxHeight;
                                        // 赋值时抛出 DOMException

           attribute DOMString        maxWidth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        minHeight;
                                        // 赋值时抛出 DOMException

           attribute DOMString        minWidth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        orphans;
                                        // 赋值时抛出 DOMException

           attribute DOMString        outline;
                                        // 赋值时抛出 DOMException

           attribute DOMString        outlineColor;
                                        // 赋值时抛出 DOMException

           attribute DOMString        outlineStyle;
                                        // 赋值时抛出 DOMException

           attribute DOMString        outlineWidth;
                                        // 赋值时抛出 DOMException

           attribute DOMString        overflow;
                                        // 赋值时抛出 DOMException

           attribute DOMString        padding;
                                        // 赋值时抛出 DOMException

           attribute DOMString        paddingTop;
                                        // 赋值时抛出 DOMException

           attribute DOMString        paddingRight;
                                        // 赋值时抛出 DOMException

           attribute DOMString        paddingBottom;
                                        // 赋值时抛出 DOMException

           attribute DOMString        paddingLeft;
                                        // 赋值时抛出 DOMException

           attribute DOMString        page;
                                        // 赋值时抛出 DOMException

           attribute DOMString        pageBreakAfter;
                                        // 赋值时抛出 DOMException

           attribute DOMString        pageBreakBefore;
                                        // 赋值时抛出 DOMException

           attribute DOMString        pageBreakInside;
                                        // 赋值时抛出 DOMException

           attribute DOMString        pause;
                                        // 赋值时抛出 DOMException

           attribute DOMString        pauseAfter;
                                        // 赋值时抛出 DOMException

           attribute DOMString        pauseBefore;
                                        // 赋值时抛出 DOMException

           attribute DOMString        pitch;
                                        // 赋值时抛出 DOMException

           attribute DOMString        pitchRange;
                                        // 赋值时抛出 DOMException

           attribute DOMString        playDuring;
                                        // 赋值时抛出 DOMException

           attribute DOMString        position;
                                        // 赋值时抛出 DOMException

           attribute DOMString        quotes;
                                        // 赋值时抛出 DOMException

           attribute DOMString        richness;
                                        // 赋值时抛出 DOMException

           attribute DOMString        right;
                                        // 赋值时抛出 DOMException

           attribute DOMString        size;
                                        // 赋值时抛出 DOMException

           attribute DOMString        speak;
                                        // 赋值时抛出 DOMException

           attribute DOMString        speakHeader;
                                        // 赋值时抛出 DOMException

           attribute DOMString        speakNumeral;
                                        // 赋值时抛出 DOMException

           attribute DOMString        speakPunctuation;
                                        // 赋值时抛出 DOMException

           attribute DOMString        speechRate;
                                        // 赋值时抛出 DOMException

           attribute DOMString        stress;
                                        // 赋值时抛出 DOMException

           attribute DOMString        tableLayout;
                                        // 赋值时抛出 DOMException

           attribute DOMString        textAlign;
                                        // 赋值时抛出 DOMException

           attribute DOMString        textDecoration;
                                        // 赋值时抛出 DOMException

           attribute DOMString        textIndent;
                                        // 赋值时抛出 DOMException

           attribute DOMString        textShadow;
                                        // 赋值时抛出 DOMException

           attribute DOMString        textTransform;
                                        // 赋值时抛出 DOMException

           attribute DOMString        top;
                                        // 赋值时抛出 DOMException

           attribute DOMString        unicodeBidi;
                                        // 赋值时抛出 DOMException

           attribute DOMString        verticalAlign;
                                        // 赋值时抛出 DOMException

           attribute DOMString        visibility;
                                        // 赋值时抛出 DOMException

           attribute DOMString        voiceFamily;
                                        // 赋值时抛出 DOMException

           attribute DOMString        volume;
                                        // 赋值时抛出 DOMException

           attribute DOMString        whiteSpace;
                                        // 赋值时抛出 DOMException

           attribute DOMString        widows;
                                        // 赋值时抛出 DOMException

           attribute DOMString        width;
                                        // 赋值时抛出 DOMException

           attribute DOMString        wordSpacing;
                                        // 赋值时抛出 DOMException

           attribute DOMString        zIndex;
                                        // 赋值时抛出 DOMException

};

属性
azimuth 类型 DOMString
参见 CSS2 中 azimuth 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

background of type DOMString
参见 CSS2 中 background 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

backgroundAttachment of type DOMString
参见 CSS2 中 background-attachment 属性定义 in CSS2.
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

backgroundColor of type DOMString
参见 CSS2 中 background-color 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

backgroundImage of type DOMString
参见 CSS2 中 background-image 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

backgroundPosition of type DOMString
参见 CSS2 中 background-position 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

backgroundRepeat 类型 DOMString
参见 CSS2 中 background-repeat 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

border 类型 DOMString
参见 CSS2 中 border 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderBottom of type DOMString
参见 CSS2 中 border-bottom 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderBottomColor 类型 DOMString
参见 CSS2 中 border-bottom-color 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderBottomStyle 类型 DOMString
参见 CSS2 中 border-bottom-style 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderBottomWidth 类型 DOMString
参见 CSS2 中 border-bottom-width 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderCollapse 类型 DOMString
参见 CSS2 中 border-collapse 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderColor of type DOMString
参见 CSS2 中 border-color 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderLeft 类型 DOMString
参见 CSS2 中 border-left 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: Raised if the new value has a syntax error and is unparsable.

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.

borderLeftColor 类型 DOMString
参见 CSS2 中 border-left-color 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderLeftStyle 类型 DOMString
参见 CSS2 中 border-left-style 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderLeftWidth 类型 DOMString
参见 CSS2 中 border-left-width 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderRight of type DOMString
参见 CSS2 中 border-right 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderRightColor 类型 DOMString
参见 CSS2 中 border-right-color 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderRightStyle 类型 DOMString
参见 CSS2 中 border-right-style 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderRightWidth 类型 DOMString
参见 CSS2 中 border-right-width 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderSpacing 类型 DOMString
参见 CSS2 中 border-spacing 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderStyle 类型 DOMString
参见 CSS2 中 border-style 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderTop 类型 DOMString
参见 CSS2 中 border-top 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderTopColor 类型 DOMString
参见 CSS2 中 border-top-color 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderTopStyle 类型 DOMString
参见 CSS2 中 border-top-style 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderTopWidth 类型 DOMString
参见 CSS2 中 border-top-width 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

borderWidth of type DOMString
参见 CSS2 中 border-width 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

bottom 类型 DOMString
参见 CSS2 中 bottom 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

captionSide 类型 DOMString
参见 CSS2 中 caption-side 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

clear 类型 DOMString
参见 CSS2 中 clear 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

clip 类型 DOMString
参见 CSS2 中 clip 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

color 类型 DOMString
参见 CSS2 中 color 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

content 类型 DOMString
参见 CSS2 中 content 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

counterIncrement 类型 DOMString
参见 CSS2 中 counter-increment 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

counterReset of type DOMString
参见 CSS2 中 counter-reset 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

cssFloat 类型 DOMString
参见 CSS2 中 float 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

cue 类型 DOMString
参见 CSS2 中 cue 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

cueAfter 类型 DOMString
参见 CSS2 中 cue-after 属性定义
赋值时的异常

DOMException

SYNTAX_ERR: 若新值有语法错误而不可分析。

NO_MODIFICATION_ALLOWED_ERR: 如果该属性是只读的。

cueBefore 类型 DOMString
参见 CSS2 中