- From: Tab Atkins Jr.. via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 10 Oct 2011 20:40:30 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-values In directory hutz:/tmp/cvs-serv9149 Modified Files: Overview.html Overview.src.html Log Message: Formatting fixes. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-values/Overview.html,v retrieving revision 1.96 retrieving revision 1.97 diff -u -d -r1.96 -r1.97 --- Overview.html 10 Oct 2011 20:23:40 -0000 1.96 +++ Overview.html 10 Oct 2011 20:40:28 -0000 1.97 @@ -1486,9 +1486,7 @@ expression can return many different types. The new syntax for the attr() expression is: - <pre> -'attr(' wqname [ ',' <type> [ ',' <value> ]? ]? ')' -</pre> + <pre>'attr(' wqname [ ',' <type> [ ',' <value> ]? ]? ')'</pre> <p>where <dfn id=wqname>wqname</dfn> is defined as: @@ -1505,22 +1503,25 @@ <p>The first argument accepts an optional namespace prefix to identify the namespace of the attribute. The namespace prefix and the attribute name is - separated by ‘<code class=css>|</code>’, with no whitespace - before or after the separator <a href="#CSS3NAMESPACE" + separated by "|", with no whitespace before or after the separator <a + href="#CSS3NAMESPACE" rel=biblioentry>[CSS3NAMESPACE]<!--{{CSS3NAMESPACE}}--></a>. <p>The second argument (which is optional but must be present if the third - argument is present) is a <type> and tells the UA how to interpret the - attribute value. It may be one of the values from the list below. + argument is present) is a ‘<code class=css><type></code>’ + and tells the UA how to interpret the attribute value. It may be one of + the values from the list below. <p>The third argument (which is optional) is a CSS value which must be - valid where the attr() expression is placed. If it is not valid, then the - whole attr() expression is invalid. + valid where the ‘<code class=css>attr()</code>’ expression is + placed. If it is not valid, then the whole ‘<code + class=css>attr()</code>’ expression is invalid. <p>If the attribute named by the first argument is missing, cannot be - parsed, or is invalid for the property, then the value returned by attr() - will be the third argument, or, if the third argument is absent, will be - the value given as the default for the relevant type in the list below. + parsed, or is invalid for the property, then the value returned by + ‘<code class=css>attr()</code>’ will be the third argument, + or, if the third argument is absent, will be the value given as the + default for the relevant type in the list below. <dl> <dt>string @@ -1530,8 +1531,9 @@ <dt>color - <dd>The attribute value will be interpreted as a CSS <color> value. The - default is ‘<code class=css>currentColor</code>’. + <dd>The attribute value will be interpreted as a CSS ‘<code + class=css><color></code>’ value. The default is ‘<code + class=css>currentColor</code>’. <dt>url @@ -1544,134 +1546,141 @@ <dt>integer - <dd>The attribute value will be interpreted as a CSS integer. The default - is 0. The default should also be used if the property in question only - accepts integers within a certain range and the attribute is out of - range. + <dd>The attribute value will be interpreted as a CSS ‘<code + class=css><integer></code>’. The default is ‘<code + class=css>0</code>’. The default should also be used if the + property in question only accepts integers within a certain range and the + attribute is out of range. <dt>number - <dd>The attribute value will be interpreted as a CSS number. The default - is 0.0. The default should also be used if the property in question only - accepts numbers within a certain range and the attribute is out of range. - + <dd>The attribute value will be interpreted as a CSS ‘<code + class=css><number></code>’. The default is ‘<code + class=css>0.0</code>’. The default should also be used if the + property in question only accepts numbers within a certain range and the + attribute is out of range. <dt>length, angle, time, frequency - <dd>The attribute value will be interpreted as a CSS length, angle, time - or frequency (respectively), and the unit identifier (if any) will appear - in the attribute value. The default is 0. The default should also be used - if the property in question only accepts values within a certain range - (e.g. positive lengths or angles from 0 to 90deg) and the attribute is - out of range (e.g. a negative length or 180deg). + <dd>The attribute value will be interpreted as a CSS ‘<code + class=css><length></code>’, ‘<code + class=css><angle></code>’, ‘<code + class=css><time></code>’ or ‘<code + class=css><frequency></code>’ (respectively), and the unit + identifier (if any) will appear in the attribute value. The default is + ‘<code class=css>0</code>’ in the relevant units. The default + should also be used if the property in question only accepts values + within a certain range (e.g. positive lengths or angles from 0 to 90deg) + and the attribute is out of range (e.g. a negative length or 180deg). <dt>em, ex, px, gr, rem, vw, vh, vm, mm, cm, in, pt, pc, deg, grad, rad, ms, s, Hz, kHz, % - <dd>The attribute value will be interpreted as a float, with the given - type suffixed as a unit. The default is 0 in the relevant units. + <dd>The attribute value will be interpreted as a CSS ‘<code + class=css><number></code>’, with the given type suffixed as a + unit. The default is ‘<code class=css>0</code>’ in the + relevant units. </dl> <p class=issue>Should there also be a "keyword" type to, e.g., support ‘<code class=css>float: attr(align)</code>’ - <p>If the <type> is missing, ‘<code - class=property>string</code>’ is implied. + <p>If the ‘<code class=css><type></code>’ is missing, + ‘<code class=css>string</code>’ is implied. <p class=issue>Ideally, it shouldn't be necessary to specify the type if it - is obvious. For example, this should be valid: "<tt>background-image: - attr(href);</tt>". This could be described as: <q>If the property only - accepts one type of value (aside from ‘<code - class=property>inherit</code>’ and ‘<code - class=property>initial</code>’), that type is implied</q>. + is obvious. For example, this should be valid: ‘<code + class=css>background-image: attr(href);</code>’. This could be + described as: "If the property only accepts one type of value (aside from + ‘<code class=property>inherit</code>’ and ‘<code + class=property>initial</code>’), that type is implied". - <p>The attr() form is only valid if the type given (or implied, if it is - missing) is valid for the property. For example, all of the following are - invalid and would cause a parse-time error (and thus cause the relevant - declaration, in this case all of them, to be ignored): + <p>The ‘<code class=css>attr()</code>’ form is only valid if + the type given (or implied, if it is missing) is valid for the property. + For example, all of the following are invalid and would cause a parse-time + error (and thus cause the relevant declaration, in this case all of them, + to be ignored): <div class="illegal example"> - <p style="display:none">Illegal Examples: - <pre> - content: attr(title, color); /* 'content' doesn't accept colors */ +content: attr(title, color); /* 'content' doesn't accept colors */ - content: attr(end-of-quote, string, inherit) close-quote; /* the - 'inherit' value is not allowed there, since the result would be - 'inherit close-quote', which is invalid. */ +content: attr(end-of-quote, string, inherit) close-quote; +/* the 'inherit' value is not allowed there, since the result would be +'inherit close-quote', which is invalid. */ - margin: attr(vertical, length) attr(horizontal, deg); /* deg - units are not valid at that point */ +margin: attr(vertical, length) attr(horizontal, deg); +/* deg units are not valid at that point */ <!-- - font: attr(weight, integer) attr(size, length)/attr(height, - integer) attr(family, string); /* invalid because - <'font-weight'>s are not integers, but identifiers. */ +font: attr(weight, integer) attr(size, length)/attr(height, +integer) attr(family, string); /* invalid because +<'font-weight'>s are not integers, but identifiers. */ --> - color: attr(color); /* 'color' doesn't accept strings */ -</pre> +color: attr(color); /* 'color' doesn't accept strings */</pre> </div> - <p>The attr() expression cannot return everything, for example it cannot do - counters, named strings, quotes, or values such as ‘<code - class=property>auto</code>’, ‘<code - class=property>nowrap</code>’, or ‘<code - class=property>baseline</code>’. This is intentional, as the intent - of the ‘<code class=css>attr()</code>’ expression is not to - make it possible to describe a presentational language's formatting using - CSS, but to enable CSS to take semantic data into account. + <p>The ‘<code class=css>attr()</code>’ expression cannot return + everything, for example it cannot do counters, named strings, quotes, or + values such as ‘<code class=css>auto</code>’, ‘<code + class=css>nowrap</code>’, or ‘<code + class=css>baseline</code>’. This is intentional, as the intent of + the ‘<code class=css>attr()</code>’ expression is not to make + it possible to describe a presentational language's formatting using CSS, + but to enable CSS to take semantic data into account. - <p>Note that the default value need not be of the type given. For instance, - if the type required of the attribute by the author is ‘<code - class=property>px</code>’, the default could still be ‘<code - class=css>5em</code>’. + <p class=note>Note that the default value need not be of the type given. + For instance, if the type required of the attribute by the author is + ‘<code class=css>px</code>’, the default could still be + ‘<code class=css>5em</code>’. <div class=example> - <p>Examples: + <p>Examples:</p> <pre> - <stock> - <wood length="12"/> - <wood length="5"/> - <metal length="19"/> - <wood length="4"/> - </stock> +<stock> + <wood length="12"/> + <wood length="5"/> + <metal length="19"/> + <wood length="4"/> +</stock> - stock::before { - display: block; - content: "To scale, the lengths of materials in stock are:"; - } - stock > * { - display: block; - width: attr(length, em); /* default 0 */ - height: 1em; - border: solid thin; - margin: 0.5em; - } - wood { - background: orange url(wood.png); - } - metal { - background: silver url(metal.png); - } +stock::before { + display: block; + content: "To scale, the lengths of materials in stock are:"; +} +stock > * { + display: block; + width: attr(length, em); /* default 0 */ + height: 1em; + border: solid thin; + margin: 0.5em; +} +wood { + background: orange url(wood.png); +} +metal { + background: silver url(metal.png); +} - /* this also uses a possible extension to the 'content' property - to handle replaced content and alternatives to unavailable, - corrupted or unsupported content */ - img { - content: replaced attr(src, url), attr(alt, string, none); - height: attr(height, px, auto); - width: attr(width, px, auto); - } -</pre> +/* this also uses a possible extension to the 'content' property +to handle replaced content and alternatives to unavailable, +corrupted or unsupported content */ +img { + content: replaced attr(src, url), attr(alt, string, none); + height: attr(height, px, auto); + width: attr(width, px, auto); +}</pre> </div> - <p>The attr() expression cannot currently fall back onto another attribute. - Future versions of CSS may extend attr() in this direction. + <p>The ‘<code class=css>attr()</code>’ expression cannot + currently fall back onto another attribute. Future versions of CSS may + extend ‘<code class=css>attr()</code>’ in this direction. <p class=issue>Should ‘<code class=css>attr()</code>’ be allowed on any property, in any source language? For example, do we expect - UAs to honor this rule for HTML documents?: <tt>P[COLOR] { color: - attr(COLOR, color) }</tt>. <!-- + UAs to honor this rule for HTML documents?: <code>P[COLOR] { color: + attr(COLOR, color) }</code>.</p> + <!-- <h4>The 'counter' function</h4> <p><dfn title="<counter>, definition of">Counters</dfn> are denoted by @@ -1705,7 +1714,7 @@ </pre> </div> --> - <!-- + <!-- <h3>Special cases</h3> @@ -1737,7 +1746,6 @@ <pre>body { font-family: "Helvetica", "Univers", "Arial", sans-serif }</pre> </div> --> - <h2 id=value-stages><span class=secno>10. </span> Stages of Value Computation</h2> Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-values/Overview.src.html,v retrieving revision 1.99 retrieving revision 1.100 diff -u -d -r1.99 -r1.100 --- Overview.src.html 10 Oct 2011 20:23:40 -0000 1.99 +++ Overview.src.html 10 Oct 2011 20:40:28 -0000 1.100 @@ -1030,203 +1030,187 @@ <h3 id="attr"> Attribute References: ''attr()''</h3> -<p class=issue>Describe the feature fully here, not just a delta from CSS 21. + <p class=issue>Describe the feature fully here, not just a delta from CSS 21.</p> -<p class=issue>When attr is set on a pseudo-element, it should apply to the originating element + <p class=issue>When attr is set on a pseudo-element, it should apply to the originating element</p> -<p>In CSS2.1 [[!CSS21]], the 'attr()' expression always returns a -string. In CSS3, the 'attr()' expression can return many different -types. The new syntax for the attr() expression is: + <p>In CSS2.1 [[!CSS21]], the 'attr()' expression always returns a + string. In CSS3, the 'attr()' expression can return many different + types. The new syntax for the attr() expression is:</p> -<pre> -'attr(' wqname [ ',' <type> [ ',' <value> ]? ]? ')' -</pre> + <pre>'attr(' wqname [ ',' <type> [ ',' <value> ]? ]? ')'</pre> -<p>where <dfn>wqname</dfn> is defined as:</p> + <p>where <dfn>wqname</dfn> is defined as:</p> -<pre> + <pre> wqname : [ [ namespace_prefix? | '*' ] '|' ident ] | ident ;</pre> -<p>The first argument represents the attribute name. The value of the -attribute with that name on the element whose computed values are -being computed is used as the value of the expression, according to -the rules given below. - -<p>The first argument accepts an optional namespace prefix to identify -the namespace of the attribute. The namespace prefix and the attribute -name is separated by '|', with no whitespace before or after the -separator [[CSS3NAMESPACE]]. - -<p>The second argument (which is optional but must be present if the -third argument is present) is a <type> and tells the UA how to -interpret the attribute value. It may be one of the values from the -list below. - -<p>The third argument (which is optional) is a CSS value which must be -valid where the attr() expression is placed. If it is not valid, then -the whole attr() expression is invalid. - -<p>If the attribute named by the first argument is missing, cannot be -parsed, or is invalid for the property, then the value returned by -attr() will be the third argument, or, if the third argument is -absent, will be the value given as the default for the relevant type -in the list below. - - -<dl> -<dt>string -<dd>The attribute value will be interpreted as the contents of a CSS -string. The default is the empty string. - -<dt>color - -<dd>The attribute value will be interpreted as a CSS <color> value. The -default is ''currentColor''. - -<dt>url + <p>The first argument represents the attribute name. The value of the + attribute with that name on the element whose computed values are + being computed is used as the value of the expression, according to + the rules given below.</p> -<dd>The attribute value will be interpreted as the URI part of a -'url()' expression. The default is a UA-dependent URI defined -to point to a non-existent document with a generic error -condition. (i.e. it shouldn't be an FTP URI that causes a DNS -error, or an HTTP URI that results in a 404, it should be a -nondescript error condition.) + <p>The first argument accepts an optional namespace prefix to identify + the namespace of the attribute. The namespace prefix and the attribute + name is separated by "|", with no whitespace before or after the + separator [[CSS3NAMESPACE]].</p> -<dt>integer + <p>The second argument (which is optional but must be present if the + third argument is present) is a ''<type>'' and tells the UA how to + interpret the attribute value. It may be one of the values from the + list below.</p> -<dd>The attribute value will be interpreted as a CSS integer. The -default is 0. The default should also be used if the property -in question only accepts integers within a certain range and -the attribute is out of range. + <p>The third argument (which is optional) is a CSS value which must be + valid where the ''attr()'' expression is placed. If it is not valid, then + the whole ''attr()'' expression is invalid.</p> -<dt>number + <p>If the attribute named by the first argument is missing, cannot be + parsed, or is invalid for the property, then the value returned by + ''attr()'' will be the third argument, or, if the third argument is + absent, will be the value given as the default for the relevant type + in the list below.</p> -<dd>The attribute value will be interpreted as a CSS number. The -default is 0.0. The default should also be used if the -property in question only accepts numbers within a certain -range and the attribute is out of range. -<dt>length, angle, time, frequency + <dl> + <dt>string + <dd>The attribute value will be interpreted as the contents of a CSS + string. The default is the empty string. -<dd>The attribute value will be interpreted as a CSS length, angle, -time or frequency (respectively), and the unit identifier (if any) -will appear in the attribute value. The default is 0. The default -should also be used if the property in question only accepts values -within a certain range (e.g. positive lengths or angles from 0 to -90deg) and the attribute is out of range (e.g. a negative length or -180deg). + <dt>color + <dd>The attribute value will be interpreted as a CSS ''<color>'' value. The + default is ''currentColor''. + <dt>url + <dd>The attribute value will be interpreted as the URI part of a + ''url()'' expression. The default is a UA-dependent URI defined + to point to a non-existent document with a generic error + condition. (i.e. it shouldn't be an FTP URI that causes a DNS + error, or an HTTP URI that results in a 404, it should be a + nondescript error condition.) -<dt>em, ex, px, gr, rem, vw, vh, vm, mm, cm, in, pt, pc, deg, grad, rad, ms, s, Hz, kHz, % + <dt>integer + <dd>The attribute value will be interpreted as a CSS ''<integer>''. The + default is ''0''. The default should also be used if the property + in question only accepts integers within a certain range and + the attribute is out of range. -<dd>The attribute value will be interpreted as a float, with the given -type suffixed as a unit. The default is 0 in the relevant -units. + <dt>number + <dd>The attribute value will be interpreted as a CSS ''<number>''. The + default is ''0.0''. The default should also be used if the + property in question only accepts numbers within a certain + range and the attribute is out of range. -</dl> + <dt>length, angle, time, frequency + <dd>The attribute value will be interpreted as a CSS ''<length>'', ''<angle>'', + ''<time>'' or ''<frequency>'' (respectively), and the unit identifier (if any) + will appear in the attribute value. The default is ''0'' in the relevant units. The default + should also be used if the property in question only accepts values + within a certain range (e.g. positive lengths or angles from 0 to + 90deg) and the attribute is out of range (e.g. a negative length or + 180deg). -<p class="issue">Should there also be a "keyword" type to, e.g., support 'float: attr(align)'</p> + <dt>em, ex, px, gr, rem, vw, vh, vm, mm, cm, in, pt, pc, deg, grad, rad, ms, s, Hz, kHz, % + <dd>The attribute value will be interpreted as a CSS ''<number>'', with the given + type suffixed as a unit. The default is ''0'' in the relevant + units. + </dl> + <p class="issue">Should there also be a "keyword" type to, e.g., support ''float: attr(align)''</p> -<p>If the <type> is missing, 'string' is implied. -<p class="issue">Ideally, it shouldn't be necessary to specify the -type if it is obvious. For example, this should be valid: -"<tt>background-image: attr(href);</tt>". This could be described as: -<q>If the property only accepts one type of value (aside from -'inherit' and 'initial'), that type is implied</q>. + <p>If the ''<type>'' is missing, ''string'' is implied.</p> -<p>The attr() form is only valid if the type given (or implied, if it -is missing) is valid for the property. For example, all of the -following are invalid and would cause a parse-time error (and thus -cause the relevant declaration, in this case all of them, to be -ignored): + <p class="issue">Ideally, it shouldn't be necessary to specify the + type if it is obvious. For example, this should be valid: + ''background-image: attr(href);''. This could be described as: + "If the property only accepts one type of value (aside from + 'inherit' and 'initial'), that type is implied".</p> + <p>The ''attr()'' form is only valid if the type given (or implied, if it + is missing) is valid for the property. For example, all of the + following are invalid and would cause a parse-time error (and thus + cause the relevant declaration, in this case all of them, to be + ignored):</p> -<div class="illegal example"> -<p style="display:none">Illegal Examples: -<pre> - content: attr(title, color); /* 'content' doesn't accept colors */ + <div class="illegal example"> + <pre> +content: attr(title, color); /* 'content' doesn't accept colors */ - content: attr(end-of-quote, string, inherit) close-quote; /* the - 'inherit' value is not allowed there, since the result would be - 'inherit close-quote', which is invalid. */ +content: attr(end-of-quote, string, inherit) close-quote; +/* the 'inherit' value is not allowed there, since the result would be +'inherit close-quote', which is invalid. */ - margin: attr(vertical, length) attr(horizontal, deg); /* deg - units are not valid at that point */ +margin: attr(vertical, length) attr(horizontal, deg); +/* deg units are not valid at that point */ <!-- - font: attr(weight, integer) attr(size, length)/attr(height, - integer) attr(family, string); /* invalid because - <'font-weight'>s are not integers, but identifiers. */ +font: attr(weight, integer) attr(size, length)/attr(height, +integer) attr(family, string); /* invalid because +<'font-weight'>s are not integers, but identifiers. */ --> - color: attr(color); /* 'color' doesn't accept strings */ -</pre> -</div> - -<p>The attr() expression cannot return everything, for example it cannot - do counters, named strings, quotes, or values such as 'auto', - 'nowrap', or 'baseline'. This is intentional, as the intent of the - 'attr()' expression is not to make it possible to describe a - presentational language's formatting using CSS, but to enable CSS - to take semantic data into account. +color: attr(color); /* 'color' doesn't accept strings */</pre> + </div> -<p>Note that the default value need not be of the type given. For -instance, if the type required of the attribute by the author is -'px', the default could still be '5em'. + <p>The ''attr()'' expression cannot return everything, for example it cannot + do counters, named strings, quotes, or values such as ''auto'', + ''nowrap'', or ''baseline''. This is intentional, as the intent of the + ''attr()'' expression is not to make it possible to describe a + presentational language's formatting using CSS, but to enable CSS + to take semantic data into account.</p> + <p class='note'>Note that the default value need not be of the type given. For + instance, if the type required of the attribute by the author is + ''px'', the default could still be ''5em''.</p> -<div class="example"> -<p>Examples: -<pre> - <stock> - <wood length="12"/> - <wood length="5"/> - <metal length="19"/> - <wood length="4"/> - </stock> + <div class="example"> + <p>Examples:</p> - stock::before { - display: block; - content: "To scale, the lengths of materials in stock are:"; - } - stock > * { - display: block; - width: attr(length, em); /* default 0 */ - height: 1em; - border: solid thin; - margin: 0.5em; - } - wood { - background: orange url(wood.png); - } - metal { - background: silver url(metal.png); - } + <pre> +<stock> + <wood length="12"/> + <wood length="5"/> + <metal length="19"/> + <wood length="4"/> +</stock> - /* this also uses a possible extension to the 'content' property - to handle replaced content and alternatives to unavailable, - corrupted or unsupported content */ - img { - content: replaced attr(src, url), attr(alt, string, none); - height: attr(height, px, auto); - width: attr(width, px, auto); - } -</pre> -</div> +stock::before { + display: block; + content: "To scale, the lengths of materials in stock are:"; +} +stock > * { + display: block; + width: attr(length, em); /* default 0 */ + height: 1em; + border: solid thin; + margin: 0.5em; +} +wood { + background: orange url(wood.png); +} +metal { + background: silver url(metal.png); +} -<p>The attr() expression cannot currently fall back onto another - attribute. Future versions of CSS may extend attr() in this - direction. +/* this also uses a possible extension to the 'content' property +to handle replaced content and alternatives to unavailable, +corrupted or unsupported content */ +img { + content: replaced attr(src, url), attr(alt, string, none); + height: attr(height, px, auto); + width: attr(width, px, auto); +}</pre> + </div> + <p>The ''attr()'' expression cannot currently fall back onto another + attribute. Future versions of CSS may extend ''attr()'' in this + direction.</p> -<p class="issue">Should 'attr()' be allowed on any property, in any -source language? For example, do we expect UAs to honor this rule for HTML -documents?: <tt>P[COLOR] { color: attr(COLOR, color) -}</tt>. + <p class="issue">Should ''attr()'' be allowed on any property, in any + source language? For example, do we expect UAs to honor this rule for HTML + documents?: <code>P[COLOR] { color: attr(COLOR, color) }</code>.</p> <!--
Received on Monday, 10 October 2011 20:40:32 UTC