请参阅该文档的勘误表,其中可能包括一些规范性更正。
另请参阅 翻译。
Copyright © 2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark and document use rules apply.
HTML [HTML401] 和 SVG [SVG11] 等标记语言在大多数元素上提供了一个样式属性,用于保存适用于这些元素的内联样式信息。本草案描述了可以在这些样式属性中使用的 CSS 片段的语法和解释。
本节描述了本文档在发布时的状态。其他文档可能会取代本文档。当前 W3C 出版物列表和本技术报告的最新版本可在 W3C 技术报告索引 中找到:http://www.w3.org/TR/。
本文档已由 W3C 成员、软件开发人员、其他 W3C 组和相关方进行审查,并由主管批准为 W3C 推荐标准。它是一个稳定的文档,可以作为参考材料使用或在其他文档中引用。W3C 在制定推荐标准中的作用是引起对规范的关注并促进其广泛部署。这增强了 Web 的功能和互操作性。
请参阅工作组的 实施报告。虽然只有一个测试未通过,但这是由于浏览器实现 xml:base 和属性(非)排序的错误,而不是样式属性本身。HTML 的等效测试(包括 HTML5 的 xml 序列化)已通过多个实现。
自上一个版本以来,本文档未进行任何更改。
首选将存档的公共邮件列表 www-style@w3.org (参见说明) 用于讨论本规范。在发送电子邮件时,请将文本“css-style-attr”放在主题中,最好像这样:“[css-style-attr] …评论摘要…”
本文档由根据 2004 年 2 月 5 日的 W3C 专利政策运营的小组制定。W3C 维护了与该小组的可交付成果相关的任何专利披露的公开列表;该页面还包括披露专利的说明。任何个人如果知道其认为包含必要声明的专利,则必须根据W3C 专利政策第 6 节披露信息。
某些文档格式具有 样式属性,允许作者将样式信息直接应用于文档中的特定元素。如果文档格式定义了样式属性(无论其命名为 ‘style
’ 还是其他名称)并且该属性接受 CSS 作为其值,则本规范定义了该 样式属性的语法和解释。
以下示例展示了在 HTML 中使用 style
属性 [HTML401]:
<p style="color: #090; line-height: 1.2">...</p>
文档或实现不能单独符合 CSS 样式属性的要求,但如果在实现 CSS 及其样式属性处理时,符合本规范中定义的一致性要求,则可以声明符合 CSS 样式属性。
CSS 样式属性的一致性定义了两类:
一致性要求以描述性断言和 RFC 2119 术语的结合形式表达。术语“必须”、“不可”、“要求”、“应”、“不应”、“建议”、“可以”和“可选”在本规范的规范性部分应根据 RFC 2119 进行解释。然而,为了可读性,这些词在本规范中不以全大写字母形式出现。本规范的所有文本都是规范性的,除非明确标记为非规范性、示例和注释部分。[RFC2119]
本规范中的示例以“例如”开头或通过 class="example"
与规范性文本分开,如下所示:
这是一个说明性示例。
说明性注释以“注释”开头,并通过 class="note"
与规范性文本分开,如下所示:
注意,这是一个说明性注释。
样式属性的值必须与 CSS 声明块的内容语法匹配(不包括分隔大括号),其正式语法如下,使用了 CSS 核心语法中的术语和约定:
declaration-list : S* declaration? [ ';' S* declaration? ]* ;
请注意,根据 CSS2.1 的约定,上述规则中未显示注释标记。
解释器必须使用与在普通 CSS 样式表中解析声明块内容时相同的前向兼容解析规则来解析样式属性的值。有关详细信息,请参阅 CSS2.1 规范的第 4 章。[CSS21]
请注意,由于在 CSS 样式属性语法中没有用于分隔声明列表的大括号,因此样式属性值中的闭括号(}
)不会终止样式数据:它只是一个无效标记。
样式属性中的声明应用于属性所属的元素。在层叠中,这些声明被认为具有作者来源,并且其特异性高于任何选择器。CSS2.1 定义了如何将样式表和样式属性层叠在一起。[CSS21] 样式数据中的相对 URL 在解析时必须相对于样式属性的元素(或如果未定义每个元素的解析方式,则相对于文档)进行解析。
除了层叠中的差异外,样式属性中的声明必须完全按照它们在适用于该元素的 CSS 样式规则中给出的方式进行解释。
CSS 工作组强烈建议文档语言不允许在单个元素上使用多个 CSS 样式属性。如果文档语言允许多个 CSS 样式属性,则每个属性必须独立解析并作为单独的样式规则处理,其顺序应由文档语言定义,否则未定义。
感谢 Daniel Glazman,Ian Hickson,Eric A. Meyer,Björn Höhrmann的反馈。