- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 28 Mar 2011 20:27:09 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/selectors4 In directory hutz:/tmp/cvs-serv1564 Modified Files: Overview.html Overview.src.html Log Message: Editorial cleanup of :matches/:not section. Fix some anchors. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/selectors4/Overview.html,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Overview.html 23 Mar 2011 23:03:29 -0000 1.6 +++ Overview.html 28 Mar 2011 20:27:07 -0000 1.7 @@ -15,13 +15,13 @@ <h1 id=title>Selectors Level 4</h1> - <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 23 March 2011</h2> + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 28 March 2011</h2> <dl> <dt>This version: - <dd> <!-- <a href="http://www.w3.org/TR/2011/ED-selectors4-20110323"> - http://www.w3.org/TR/2011/PR-selectors4-20110323</a> --> + <dd> <!-- <a href="http://www.w3.org/TR/2011/ED-selectors4-20110328"> + http://www.w3.org/TR/2011/PR-selectors4-20110328</a> --> <a href="http://dev.w3.org/csswg/selectors4"> http://dev.w3.org/csswg/selectors4</a> @@ -155,11 +155,11 @@ <li><a href="#logical-combination"><span class=secno>4. </span> Logical Combinations</a> <ul class=toc> - <li><a href="#grouping"><span class=secno>4.1. </span> Groups of - selectors </a> + <li><a href="#grouping"><span class=secno>4.1. </span> Selector Groups + </a> <li><a href="#matches"><span class=secno>4.2. </span> The Matches-Any - Psuedo-class: ‘<code class=css>:matches()</code>’</a> + Pseudo-class: ‘<code class=css>:matches()</code>’</a> <li><a href="#negation"><span class=secno>4.3. </span> The Negation Pseudo-class: ‘<code class=css>:not()</code>’</a> @@ -800,15 +800,14 @@ <a href="#universal-selector">universal selector</a>. No other type selector or universal selector is allowed in the sequence. - <p>A <dfn id=simple-selector><a name=simple-selectors-dfn></a><a - href="#simple">simple selector</a></dfn> is either a <a - href="#type-selectors">type selector</a>, <a - href="#universal-selector">universal selector</a>, <a + <p>A <dfn id=simple-selector><a name=simple></a><a href="#simple">simple + selector</a></dfn> is either a <a href="#type-selectors">type + selector</a>, <a href="#universal-selector">universal selector</a>, <a href="#attribute-selectors">attribute selector</a>, <a href="#class-html">class selector</a>, <a href="#id-selectors">ID selector</a>, or <a href="#pseudo-classes">pseudo-class</a>. - <p><dfn id=combinators0>Combinators</dfn> are punctuation that represent a + <p><dfn id=combinator>Combinators</dfn> are punctuation that represent a particular kind of relationship between the compound selectors on either side. Combinators in Selectors level 4 include: whitespace, "greater-than sign" (U+003E, <code>></code>), "plus @@ -914,7 +913,7 @@ <h2 id=logical-combination><span class=secno>4. </span> Logical Combinations</h2> - <h3 id=grouping><span class=secno>4.1. </span> Groups of selectors</h3> + <h3 id=grouping><span class=secno>4.1. </span> Selector Groups</h3> <p>A comma-separated list of selectors represents the union of all elements selected by each of the individual selectors in the list. (A comma is @@ -960,38 +959,63 @@ grouped, only the rule for <code>h2..foo</code> is dropped.)</p> </div> - <h3 id=matches><span class=secno>4.2. </span> The Matches-Any Psuedo-class: + <h3 id=matches><span class=secno>4.2. </span> The Matches-Any Pseudo-class: ‘<code class=css>:matches()</code>’</h3> - <p>The <code>:matches(<var>X</var>)</code> pseudo-class is a functional - notation taking a comma-separated list of <a href="#compound">compound - selectors</a> as an argument. It represents an element that is represented - by any of its arguments. + <p>The matches pseudo-class, <code>:matches(<var>X</var>)</code>, is a + functional notation taking a <a href="#grouping">selector group</a> as an + argument. It represents an element that is represented by its argument. - <p><code>:matches()</code> may not be nested; - <code>:matches(:matches(...))</code> is invalid. Also pseudo-elements are - not valid within <code>:matches()</code>. + <p>In Selectors Level 4, only <a href="#compound">compound selectors</a> + are allowed within <code>:matches()</code>: <a + href="#combinator">combinators</a> are not allowed. Additionally, + <code>:matches()</code> may not be nested within itself or within + <code>:not()</code>: <code>:matches(:matches(...))</code> and + <code>:not(:matches(...))</code> are invalid. - <p>Default namespace declarations do not affect the argument of the - matches-any pseudo-class unless the argument is a universal selector or a - type selector. (See below for examples.) + <p>Pseudo-elements cannot be represented by the matches pseudo-class; they + are not valid within <code>:matches()</code>. + + <p>Default namespace declarations do not affect the subject of any selector + within a matches-any pseudo-class unless the argument is an explicit + universal selector or a type selector. + + <div class=example> + <p>For example, following selector matches any element that is being + hovered or focused, regardless of its namespace. In particular, it is not + limited to only matching elements in the default namespace that are being + hovered or focused.</p> + + <pre>*|*:matches(:hover, :focus)</pre> + + <p>The following selector, however, represents only hovered or focused + elements that are in the default namespace, because it uses an explicit + universal selector within the <code>:matches()</code> notation:</p> + + <pre>*|*:matches(*:hover, *:focus)</pre> + </div> <h3 id=negation><span class=secno>4.3. </span> The Negation Pseudo-class: ‘<code class=css>:not()</code>’</h3> <p>The negation pseudo-class, <code>:not(<var>X</var>)</code>, is a - functional notation taking a comma-separated list of <a - href="#compound">compound selectors</a> as an argument. It represents an - element that is not represented by any of its arguments. + functional notation taking a <a href="#grouping">selector group</a> as an + argument. It represents an element that is not represented by its + argument. - <p>Negations may not be nested; <code>:not(:not(...))</code> is invalid. - Also pseudo-elements are not valid within <code>:not()</code>. + <p>In Selectors Level 4, only <a href="#compound">compound selectors</a> + are allowed within <code>:matches()</code>: <a + href="#combinator">combinators</a> are not allowed. Additionally, + negations may not be nested within itself or within + <code>:matches()</code>: <code>:not(:not(...))</code> and + <code>:matches(:not(...))</code> are invalid. - <div class=example> - <p>Examples:</p> + <p>Pseudo-elements cannot be represented by the negation pseudo-class; they + are not valid within <code>:not()</code>. - <p>The following selector matches all <code>button</code> elements in an - HTML document that are not disabled.</p> + <div class=example> + <p>For example, the following selector matches all <code>button</code> + elements in an HTML document that are not disabled.</p> <pre>button:not([DISABLED])</pre> @@ -999,33 +1023,16 @@ <pre>*:not(FOO)</pre> - <p>The following group of selectors represents all HTML elements except + <p>The following compound selector represents all HTML elements except links.</p> <pre>html|*:not(:link):not(:visited)</pre> </div> - <p>Default namespace declarations do not affect the argument of the - negation pseudo-class unless the argument is a universal selector or a - type selector. - - <div class=example> - <p>Examples:</p> - - <p>Assuming that the default namespace is bound to "http://example.com/", - the following selector represents all elements that are not in that - namespace:</p> - - <pre>*|*:not(*)</pre> - - <p>The following selector matches any element that is not being hovered, - regardless of its namespace. In particular, it is not limited to only - matching elements in the default namespace that are not being hovered, - and elements not in the default namespace don't match the rule when they - <em>are</em> being hovered.</p> - - <pre>*|*:not(:hover)</pre> - </div> + <p>Default namespace declarations do not affect the subject of any selector + within a negation pseudo-class unless the argument is an explicit + universal selector or a type selector. (See <a + href="#matches"><code>:matches()</code></a> for examples. <p class=note><strong>Note</strong>: the :not() pseudo allows useless selectors to be written. For instance <code>:not(*|*)</code>, which Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/selectors4/Overview.src.html,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Overview.src.html 23 Mar 2011 23:03:29 -0000 1.7 +++ Overview.src.html 28 Mar 2011 20:27:07 -0000 1.8 @@ -430,7 +430,7 @@ (possibly implied) <a href="#universal-selector">universal selector</a>. No other type selector or universal selector is allowed in the sequence.</p> - <p>A <dfn><a name=simple-selectors-dfn></a><a + <p>A <dfn><a name=simple></a><a href="#simple">simple selector</a></dfn> is either a <a href="#type-selectors">type selector</a>, <a href="#universal-selector">universal selector</a>, <a @@ -439,7 +439,7 @@ href="#id-selectors">ID selector</a>, or <a href="#pseudo-classes">pseudo-class</a>.</p> - <p><dfn>Combinators</dfn> are punctuation that represent a particular + <p><dfn id=combinator>Combinators</dfn> are punctuation that represent a particular kind of relationship between the compound selectors on either side. Combinators in Selectors level 4 include: whitespace, "greater-than sign" (U+003E, <code>></code>), "plus sign" (U+002B, @@ -535,7 +535,7 @@ Logical Combinations</h2> <h3 id=grouping> -Groups of selectors</h2> +Selector Groups</h2> <p>A comma-separated list of selectors represents the union of all elements selected by each of the individual selectors in the list. @@ -575,62 +575,71 @@ </div> <h3 id=matches> -The Matches-Any Psuedo-class: '':matches()''</h3> +The Matches-Any Pseudo-class: '':matches()''</h3> - <p>The <code>:matches(<var>X</var>)</code> pseudo-class is a functional - notation taking a comma-separated list of <a href="#compound">compound - selectors</a> as an argument. It represents an element that is represented - by any of its arguments. + <p>The matches pseudo-class, <code>:matches(<var>X</var>)</code>, + is a functional notation taking a <a href="#grouping">selector group</a> + as an argument. It represents an element that is represented by its argument. - <p><code>:matches()</code> may not be nested; <code>:matches(:matches(...))</code> - is invalid. - Also pseudo-elements are not valid within <code>:matches()</code>.</p> + <p>In Selectors Level 4, only <a href="#compound">compound selectors</a> + are allowed within <code>:matches()</code>: + <a href="#combinator">combinators</a> are not allowed. Additionally, + <code>:matches()</code> may not be nested within itself or within + <code>:not()</code>: <code>:matches(:matches(...))</code> and + <code>:not(:matches(...))</code> are invalid.</p> - <p>Default namespace declarations do not affect the argument of the - matches-any pseudo-class unless the argument is a universal selector or a - type selector. (See below for examples.)</p> + <p>Pseudo-elements cannot be represented by the matches pseudo-class; + they are not valid within <code>:matches()</code>. + + <p>Default namespace declarations do not affect the subject of any selector + within a matches-any pseudo-class unless the argument is an explicit + universal selector or a type selector.</p> + + <div class="example"> + <p>For example, following selector matches any element that is being + hovered or focused, regardless of its namespace. In particular, it + is not limited to only matching elements in the default namespace + that are being hovered or focused.</p> + <pre>*|*:matches(:hover, :focus)</pre> + <p>The following selector, however, represents only hovered or focused + elements that are in the default namespace, because it uses an explicit + universal selector within the <code>:matches()</code> notation:</p> + <pre>*|*:matches(*:hover, *:focus)</pre> + </div> <h3 id=negation> The Negation Pseudo-class: '':not()''</h3> <p>The negation pseudo-class, <code>:not(<var>X</var>)</code>, is a - functional notation taking a comma-separated list of <a href="#compound">compound - selectors</a> as an argument. It represents an element that is not - represented by any of its arguments. + functional notation taking a <a href="#grouping">selector group</a> + as an argument. It represents an element that is not represented + by its argument. - <p>Negations may not be nested; <code>:not(:not(...))</code> is invalid. - Also pseudo-elements are not valid within <code>:not()</code>.</p> + <p>In Selectors Level 4, only <a href="#compound">compound selectors</a> + are allowed within <code>:matches()</code>: + <a href="#combinator">combinators</a> are not allowed. Additionally, + negations may not be nested within itself or within <code>:matches()</code>: + <code>:not(:not(...))</code> and <code>:matches(:not(...))</code> are invalid. + + <p>Pseudo-elements cannot be represented by the negation pseudo-class; + they are not valid within <code>:not()</code>. <div class="example"> - <p>Examples:</p> - <p>The following selector matches all <code>button</code> + <p>For example, the following selector matches all <code>button</code> elements in an HTML document that are not disabled.</p> <pre>button:not([DISABLED])</pre> <p>The following selector represents all but <code>FOO</code> elements.</p> <pre>*:not(FOO)</pre> - <p>The following group of selectors represents all HTML elements + <p>The following compound selector represents all HTML elements except links.</p> <pre>html|*:not(:link):not(:visited)</pre> </div> - <p>Default namespace declarations do not affect the argument of the - negation pseudo-class unless the argument is a universal selector or a - type selector.</p> - - <div class="example"> - <p>Examples:</p> - <p>Assuming that the default namespace is bound to - "http://example.com/", the following selector represents all - elements that are not in that namespace:</p> - <pre>*|*:not(*)</pre> - <p>The following selector matches any element that is not being - hovered, regardless of its namespace. In particular, it is not - limited to only matching elements in the default namespace that are - not being hovered, and elements not in the default namespace don't - match the rule when they <em>are</em> being hovered.</p> - <pre>*|*:not(:hover)</pre> - </div> + <p>Default namespace declarations do not affect the subject of any selector + within a negation pseudo-class unless the argument is an explicit universal + selector or a type selector. (See <a href="#matches"><code>:matches()</code></a> + for examples.</p> <p class="note"><strong>Note</strong>: the :not() pseudo allows useless selectors to be written. For instance <code>:not(*|*)</code>,
Received on Monday, 28 March 2011 20:27:11 UTC