- From: Estelle Weyl <estelle@weyl.org>
- Date: Sun, 4 Jul 2010 12:49:57 -0700
- To: Anton Prowse <prowse@moonhenge.net>
- Cc: www-style@w3.org, "L. David Baron" <dbaron@dbaron.org>
On Jul 4, 2010, at 9:32 AM, Anton Prowse wrote: > L. David Baron wrote: >> On Sunday 2010-07-04 10:24 +0200, Anton Prowse wrote: >>> "Specificity" isn't the right term here (it has another meaning in >>> CSS >>> Selectors [3]) but I understand what you're asking. However, >>> there is >>> no universal common behaviour of pseudo-classes as regards their >>> interaction with other parts of the sequence of simple selectors to >>> which they belong. >>> >>> Hence we must turn to the definition of the :not pseudo-class to >>> discover its behaviour: >>> >>> "The negation pseudo-class, :not(X), is a functional notation >>> taking a >>> simple selector (excluding the negation pseudo-class itself) as an >>> argument. It represents an element that is not represented by its >>> argument."[4] >>> >>> So, in the sense you mean, the :not pseudo-class does behave >>> differently >>> from the :nth-of-type pseudo-class in that the whole of the simple >>> selector argument is taken into consideration. >> I think this is a confusing way to describe things. I think it's >> clearer to simply say that the parts of the simple selector are >> independent of each other, and then the results are combined. Thus: >> :nth-of-type(5) selects any p element that is the fifth p element >> within its parent, any div element that is the fifth div element >> within its parent, any i element that is the fifth i element >> within its parent, etc. >> p selects any p element. >> p:nth-of-type(5) selects the intersection of those two sets, which >> is any p element that is the fifth p element within its parent. >> Thus, if you add attribute selectors to the same simple selector, >> you're not changing what :nth-of-type() means, you're just >> intersecting the result with an additional restriction. > > Yes, I fully agree that intersection is the right way to view this > (and > was planning to say so should Estelle have replied; this formulation > only occurred to me seconds after pressing Send ;-) > > img[src*="photo"]:nth-of-type(odd) > > is the set of elements E which satisfy all of the following > properties: > > E is an img element > E has a src attribute whose value features the substring "photo" > E is the first or third or fifth or ... element of its type (ie img) > of > its parent. > > > But what I was trying to emphasize in my comment is that :not is in > some > sense more powerful than nth-of-type pseudo-class. If nth-of-type was > renamed slightly (nth-of-specialized-kind ?!) and took a simple > selector > as an argument as well as the an+b notation, then it would behave a > bit > more like :not (as well as addressing the problem which I think > Estelle > wanted to solve). > > Cheers, > Anton Prowse > http://dev.moonhenge.net > > This issue I am having, however, is not with the :not or the :nth-of- type, it is with the selection order or process. I am looking for Of the image that have src*=photo, match the odd ones. I am getting Of the Odd images on the page, match the ones that also have source photo Is this a correct browser rendering according to the specificiations? I there a way to return first the attribute selector portion, then apply the nth-of-type pseudo class on top of that? -Estelle http://www.standardista.com
Received on Sunday, 4 July 2010 19:50:10 UTC