css-style-attr/Overview.src.html

Tue, 24 Aug 2010 11:11:17 +0000

author
Elika Etemad <fantasai.cvs@inkedblade.net>
date
Tue, 24 Aug 2010 11:11:17 +0000
changeset 1915
ca4cd8044f3f
parent 1912
197c9052da1e
child 1953
41226843561b
permissions
-rwxr-xr-x

Clarify that declaration block contents doesn't include declaration block delimiters

fantasai@1564 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
fantasai@1564 2 <html lang="en">
fantasai@1564 3 <head>
fantasai@1564 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
fantasai@1617 5 <title>CSS Styling Attributes Level 1</title>
fantasai@1620 6 <link rel="stylesheet" type="text/css" href="default.css">
fantasai@1563 7
fantasai@1564 8 <link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED">
fantasai@1563 9 </head>
fantasai@1563 10
fantasai@1564 11 <div class="head">
fantasai@1564 12 <!--logo-->
fantasai@1563 13
fantasai@1617 14 <h1>CSS Styling Attributes Level 1</h1>
fantasai@1563 15
fantasai@1564 16 <h2 class="no-num no-toc">[LONGSTATUS] [DATE]</h2>
fantasai@1564 17 <dl>
fantasai@1564 18 <dt>This version:</dt>
tantek@1911 19 <!-- <dd><dd><a href="http://www.w3.org/TR/[YEAR]/WD-css-style-attr-[CDATE]/">http://www.w3.org/TR/[YEAR]/WD-css-style-attr-[CDATE]/</a></dd> -->
tantek@1911 20 <dd><a href="http://dev.w3.org/csswg/css-style-attr/">http://dev.w3.org/csswg/css-style-attr/</a>
tantek@1911 21 </dd>
fantasai@1564 22 <dt>Latest version:
fantasai@1564 23 <dd><a href="http://www.w3.org/TR/css-style-attr">http://www.w3.org/TR/css-style-attr</a>
fantasai@1564 24 <dt>Previous version:
tantek@1911 25 <dd><a href="http://www.w3.org/TR/2010/WD-css-style-attr-20100121/">http://www.w3.org/TR/2010/WD-css-style-attr-20100121/</a>
tantek@1911 26 <dt>Editors:
tantek@1911 27 <dd class="vcard"><a lang="tr" class="fn url" href="http://tantek.com/">Tantek &Ccedil;elik</a>
tantek@1911 28 (<span class="company role url">invited expert</span>,
tantek@1911 29 and before at <a href="http://www.microsoft.com/">Microsoft Corporation</a>)
tantek@1911 30 &lt;<a class="email"
tantek@1911 31 href="mailto:tantek@cs.stanford.edu">tantek@cs.stanford.edu</a>&gt;
tantek@1911 32 </dd>
tantek@1911 33 <dd class="vcard"><a class="fn n url" href="http://fantasai.inkedblade.net/contact"><span class="given-name">Elika</span> <abbr class="additional-name">J.</abbr> <span class="family-name">Etemad</span></a> (<span class="company role">invited expert</span>)
tantek@1911 34 </dd>
fantasai@1564 35 <dt>Previous Editors:
tantek@1911 36 <dd class="vcard"><a class="fn url" href="http://www.w3.org/People/Bos/">Bert Bos</a> (<a class="org" href="http://www.w3.org/">W3C</a>), &lt;<a class="email" href="mailto:bert@w3.org">bert@w3.org</a>&gt;
tantek@1911 37 </dd>
tantek@1911 38 <dd class="vcard"><span class="fn">Marc Attinasi</span> (<span class="org">AOL/Netscape</span>), &lt;<a class="email" href="mailto:attinasi@netscape.com">attinasi@netscape.com</a>&gt;
tantek@1911 39 </dd>
fantasai@1564 40 </dl>
fantasai@1564 41 <!--begin-copyright-->
fantasai@1564 42 <p>[Here will be included the file "../copyright.inc"]</p>
fantasai@1564 43 <!--end-copyright-->
fantasai@1563 44
fantasai@1563 45 <hr title="Separator for header">
fantasai@1563 46 </div>
fantasai@1563 47
fantasai@1563 48 <h2 class="no-num no-toc" id="abstract">Abstract</h2>
fantasai@1563 49
tantek@1911 50 <p>Markup languages such as HTML [[HTML401]] and SVG [[SVG11]] provide a styling
fantasai@1655 51 attribute on most elements, to hold inline style information that applies
fantasai@1624 52 to those elements. One of the possible style sheet languages is CSS. This
fantasai@1624 53 draft describes the syntax and interpretation of the CSS fragment that can
fantasai@1624 54 be used in such styling attributes.
fantasai@1563 55
fantasai@1563 56 <h2 class="no-num no-toc" id="status">Status of this document</h2>
fantasai@1564 57 <!--status-->
fantasai@1617 58 <p>This specification is a <strong>Last Call Working Draft</strong>. All
fantasai@1617 59 persons are encouraged to review this document and <strong>send comments
fantasai@1617 60 to the <a
fantasai@1617 61 href="http://lists.w3.org/Archives/Public/www-style/">www-style</a>
fantasai@1617 62 mailing list</strong> as described above. The <strong>deadline for
fantasai@1617 63 comments</strong> is <strong>9 February 2010</strong>.
fantasai@1617 64
fantasai@1617 65 <p>A CSS Styling Attribute <a href="http://www.w3.org/Style/CSS/Test/">Test
fantasai@1617 66 Suite</a> will be developed during the Candidate Recommendation phase of
fantasai@1617 67 this CSS Styling Attribute specification.
fantasai@1563 68
fantasai@1564 69 <h2 class="no-num no-toc" id="contents">Table of contents</h2>
fantasai@1564 70 <!--toc-->
fantasai@1563 71
fantasai@1564 72 <h2 id="intro">Introduction</h2>
fantasai@1563 73
fantasai@1610 74 <p>Some document formats have a <dfn>styling attribute</dfn> to permit
fantasai@1610 75 the author to directly apply style information to specific elements
fantasai@1610 76 in documents. If a document format defines a styling attribute and the
fantasai@1624 77 attribute accepts CSS as its value, then this specification defines that
fantasai@1616 78 <dfn>CSS styling attribute</dfn>&rsquo;s syntax and interpretation.
fantasai@1563 79
fantasai@1564 80 <div class="example">
fantasai@1564 81 <p>The following example shows the use of the <code>style</code> attribute
tantek@1911 82 in HTML [[HTML401]]:</p>
fantasai@1564 83 <pre>&lt;p style="<em>color: #090; line-height: 1.2</em>"&gt;...&lt;/p&gt;</pre>
fantasai@1564 84 </div>
fantasai@1563 85
fantasai@1565 86 <h2 id="conformance">Conformance</h2>
fantasai@1565 87
fantasai@1617 88 <p>A document or implementation cannot conform to CSS Styling Attributes
fantasai@1617 89 Level 1 alone, but can claim conformance to CSS Styling Attributes Level 1
fantasai@1571 90 if it satisfies the conformance requirements in this specification when
fantasai@1610 91 implementing CSS together with styling attribute handling as defined in a
fantasai@1610 92 document language that has CSS styling attributes.</p>
fantasai@1571 93
fantasai@1617 94 <p>Conformance to CSS Styling Attributes Level 1 is defined for two
fantasai@1610 95 classes:
fantasai@1571 96 <dl>
fantasai@1571 97 <dt><dfn>document</dfn></dt>
fantasai@1610 98 <dd>A document represented in a document language that defines a styling
fantasai@1571 99 attribute for one or more of its elements.
fantasai@1571 100 <dt><dfn>interpreter</dfn></dt>
fantasai@1571 101 <dd>Someone or something that interprets the semantics of a document and
fantasai@1571 102 its associated style information.
fantasai@1571 103 (Most CSS <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">user
fantasai@1571 104 agents</a> fall under this category.)</dd>
fantasai@1571 105 </dl>
fantasai@1571 106
fantasai@1565 107 <p>The conformance requirements are expressed with a combination of
fantasai@1565 108 descriptive assertions and RFC 2119 terminology. The key words "MUST",
fantasai@1565 109 "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT",
fantasai@1565 110 "RECOMMENDED", "MAY", and "OPTIONAL" in the normative parts of this
fantasai@1565 111 document are to be interpreted as described in RFC 2119.
fantasai@1565 112 However, for readability, these words do not appear in all uppercase
fantasai@1565 113 letters in this specification. All of the text of this specification is
fantasai@1565 114 normative except sections explicitly marked as non-normative, examples,
fantasai@1565 115 and notes. [[!RFC2119]]</p>
fantasai@1565 116
fantasai@1565 117 <p>Examples in this specification are introduced with the words "for example"
fantasai@1565 118 or are set apart from the normative text with <code>class="example"</code>,
fantasai@1565 119 like this:
fantasai@1565 120
fantasai@1565 121 <div class="example">
fantasai@1565 122 <p>This is an example of an informative example.</p>
fantasai@1565 123 </div>
fantasai@1565 124
fantasai@1565 125 <p>Informative notes begin with the word "Note" and are set apart from the
fantasai@1565 126 normative text with <code>class="note"</code>, like this:
fantasai@1565 127
fantasai@1565 128 <p class="note">Note, this is an informative note.</p>
fantasai@1565 129
fantasai@1610 130 <h2 id="syntax">Syntax and Parsing</h2>
fantasai@1610 131
fantasai@1610 132 <p>The value of the styling attribute must match the syntax of the contents of
fantasai@1610 133 a CSS <a href="http://www.w3.org/TR/CSS21/syndata.html#rule-sets">declaration
fantasai@1915 134 block</a> (excluding the delimiting braces), whose formal grammar is given
fantasai@1915 135 below in the terms and conventions of the
fantasai@1616 136 <a href="http://www.w3.org/TR/CSS21/syndata.html#syntax">CSS core grammar</a>:
fantasai@1616 137
fantasai@1616 138 <pre>
fantasai@1616 139 declaration-list
fantasai@1619 140 : S* declaration? [ ';' S* declaration? ]*
fantasai@1616 141 ;
fantasai@1616 142 </pre>
fantasai@1616 143
fantasai@1616 144 <p class="note">Note that following the CSS2.1 convention, comment tokens
fantasai@1616 145 are not shown in the rule above.
fantasai@1616 146
fantasai@1616 147 <p>The interpreter must parse the styling attribute's value using the
fantasai@1610 148 same forward-compatible parsing rules that apply to parsing declaration block
fantasai@1610 149 contents in a normal CSS style sheet. See
fantasai@1610 150 <a href="http://www.w3.org/TR/CSS21/syndata.html">chapter 4 of the CSS2.1
fantasai@1616 151 specification</a> for details. [[!CSS21]]
fantasai@1610 152
fantasai@1610 153 <p class="note">Note that because there is no open brace delimiting the
fantasai@1610 154 declaration list in the CSS styling attribute syntax, a close brace
fantasai@1610 155 (<code>}</code>) in the styling attribute's value does not terminate the
fantasai@1610 156 style data: it is merely an invalid token.</p>
fantasai@1610 157
fantasai@1610 158 <h2 id="interpret">Cascading and Interpretation</h2>
fantasai@1610 159
fantasai@1610 160 <p>The declarations in a styling attribute apply to the element to which
fantasai@1656 161 the attribute belongs. In the cascade, these declarations are considered
fantasai@1656 162 to have author origin and a specificity higher than any selector.
fantasai@1656 163 CSS2.1 <a href="http://www.w3.org/TR/CSS21/cascade.html#specificity">defines</a>
fantasai@1610 164 how style sheets and styling attributes are cascaded together. [[!CSS21]]
fantasai@1610 165 Relative URLs in the style data must be resolved relative to the styling
fantasai@1610 166 attribute's element (or to the document if per-element resolution is not
fantasai@1612 167 defined) when the attribute's value is parsed<!-- so dynamic changes to
fantasai@1612 168 the base URL don't affect the CSS ~Hixie -->.
fantasai@1610 169
fantasai@1610 170 <p>Aside from the differences in cascading, the declarations in a styling
fantasai@1610 171 attribute must be interpreted exactly as if they were given in a CSS
fantasai@1610 172 style rule that applies to the element.
fantasai@1610 173
fantasai@1610 174 <p>The CSS Working Group strongly recommends that document languages do
fantasai@1610 175 not allow multiple CSS styling attributes on a single element. If a document
fantasai@1610 176 language allows multiple CSS styling attributes, each must be parsed
fantasai@1610 177 independently and treated as a separate style rule, the ordering of which
fantasai@1610 178 should be defined by the document language, else is undefined.
fantasai@1610 179
fantasai@1564 180 <h2 id="ack">Acknowledgments</h2>
fantasai@1563 181
tantek@1912 182 <p>Thanks to feedback from <span class="vcard"><span class="fn">Daniel Glazman</span></span>, <span class="vcard"><span class="fn">Ian Hickson</span></span>, <span class="vcard"><span class="fn n"><span class="given-name">Eric</span> <abbr class="additional-name">A.</abbr> <span class="family-name">Meyer</span></span></span>,
tantek@1912 183 <span class="vcard"><span class="fn">Bj&ouml;rn H&ouml;hrmann</span></span>.
tantek@1912 184 </p>
fantasai@1563 185
fantasai@1564 186 <h2 id="references">References
fantasai@1563 187
fantasai@1564 188 <h3 class="no-num" id="normative-references">Normative references</h3>
fantasai@1563 189
fantasai@1564 190 <!--begin-normative-->
fantasai@1564 191 <p>[Here will be inserted the file "normative.inc"]</p>
fantasai@1564 192 <!--end-normative-->
fantasai@1563 193
fantasai@1564 194 <h3 class="no-num" id="informative-references">Informative references</h3>
fantasai@1563 195
fantasai@1564 196 <!--begin-informative-->
fantasai@1564 197 <p>[Here will be inserted the file "informative.inc"]</p>
fantasai@1564 198 <!--end-informative-->
fantasai@1563 199
fantasai@1563 200 </body>
fantasai@1563 201 </html>
fantasai@1563 202 <!-- Keep this comment at the end of the file
fantasai@1563 203 Local variables:
fantasai@1563 204 mode: sgml
fantasai@1563 205 sgml-declaration:"~/SGML/HTML4.decl"
fantasai@1563 206 sgml-default-doctype-name:"html"
fantasai@1563 207 sgml-minimize-attributes:t
fantasai@1563 208 sgml-nofill-elements:("pre" "style" "br")
fantasai@1563 209 End:
fantasai@1563 210 -->

mercurial