- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Mon, 12 Oct 2009 17:23:20 -0700
- To: www-style@w3.org
Anton Prowse wrote: > Congratulations on a very solid-looking specification! > > Here are the things that I noticed when reading through the document. > (Trivial editorial issues are listed separately at the end.) > > ... > > 6.6.5 :nth-child() pseudo-class > (http://www.w3.org/TR/2009/WD-css3-selectors-20090310/#nth-child-pseudo) : > > # The :nth-child(an+b) pseudo-class notation represents an element > # that has an+b-1 siblings before it in the document tree, for a given > # positive integer or zero value of n, and has a parent element. > > Issue 5a: s/for a given/for some/. Ditto for the description of the > other related pseudo-elements. Replaced with "for any". > # In other words, this matches the bth child of an element after all > # the children have been split into groups of a elements each. > > Issue 5b: It matches the bth child *of each group* after the children > have been partitioned into groups (the last group having possibly fewer > than 'a' elements). Also, the sentence makes no sense when either a or > b is zero or negative. The sentence is not necessary, will be too long > when corrected to accurately explain modular arithmetic, and should be > omitted altogether. Ditto for the description of the :nth-of-type() > pseudo-class. Replaced with # For values of <var>a</var> and <var>b</var> greater than zero, this # effectively divides the element's children into groups of <var>a</var> # elements (the last group taking the remainder), and selecting the # <var>b</var>th element of each group. for :nth-child() and removed from :nth-of-type. > # Examples: > # [...] > # p:nth-child(4n+1) { color: navy; } > # p:nth-child(4n+2) { color: green; } > # p:nth-child(4n+3) { color: maroon; } > # p:nth-child(4n+4) { color: purple; } > > Issue 5c: It is much more natural to use :nth-child(4n) than > :nth-child(4n+4) (although you would then want it to be first in the > list rather than last). It was probably avoided because the case b=0 > has not yet been discussed so far in the document --- but there is a > precedent higher up in the example: :nth-child( +6 ). I think it's written like that to keep the parallel with the other selectors in that listing. I'm going to leave this as-is. I've also reordered the examples so that syntax is only used after it has been explained. > # When a=0, the an part need not be included (unless the b part is > # already omitted). When an is not included, the + sign before b (when > # allowed) may also be omitted. > > Issue 5d: s/When an is not included, the + sign before b (when allowed) > may also be omitted/When an is not included and b is non-negative, a + > sign before b may also be omitted/ Fixed. > Issue 5e: There is no discussion in this subsection of the omission of > the + sign before a, which is curious given that all other possible > omissions are discussed. This is because the omission of + before a is covered by plus signs on positive integers being optional. The + before the b, in the full syntax, is considered binary operator between an and b, so saying that an can be dropped is not enough. > # In this case the syntax simplifies to :nth-child(b) and the last > # example simplifies to :nth-child(5). > > Issue 5f: The only unsimplified cases which simplifies to :nth-child(5) > when a is zero and b is non-negative are :nth-child(0n+5) and > :nth-child(-0n+5), neither of which are the last (or indeed any) example. Good catch. Removed and changed the next example to use 5 instead of 1. Please let me know if these changes address your comments. ~fantasai
Received on Tuesday, 13 October 2009 00:23:55 UTC