- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Tue, 22 Oct 2013 23:50:29 -0600
- To: Håkon Wium Lie <howcome@opera.com>
- Cc: "www-style@w3.org" <www-style@w3.org>
On Tue, Oct 22, 2013 at 3:46 PM, Håkon Wium Lie <howcome@opera.com> wrote:
> Tab Atkins Jr. wrote:
>
> > > @page funky:nth(1) { ... }
> > >
> > > selects the first page of the "funky" group
> > >
> > > I don't see a need for further syntactic differentiations. Also, this
> > > has been implemented and used for years.
> >
> > That's not how selectors work. The fact that it's intuitive to act
> > that way has confused plenty of people over the years, which is why we
> > introduced the :nth-match() pseudo-class in Selectors 4, so you can
> > get the intuitive behavior in some manner.
>
> Coming back to this, I guess I don't see how the nth() selectors above
> is fundamentally different from a selector like :nth-of-type().
>
> nth(1) selects the first page in a sequence of "sibling" pages, while
> nth-of-type(1) selects the first element in a sequence of sibling
> elements, no?
:nth-of-type() was an early concession, before we solved the problem
generally with :nth-match().
If you want to give :nth() the same kind of semantics, that's fine.
What you can't do is have one selector rely on another. Saying that
:nth() selects the nth page in any given set of named pages is fine,
but very likely not what you actually mean.
I suspect, for example, that "@page :nth(2) {...}" is meant to select
the second page only, right? If so, then yeah, you are *not* using
the :nth-of-type semantics, you're still using the "nth of whatever
the rest of the selector matches" stuff.
If not, then it's fine to do.
~TJ
Received on Wednesday, 23 October 2013 05:51:15 UTC