- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Mon, 14 Jul 2008 09:55:53 -0700
- To: Lachlan Hunt <lachlan.hunt@lachy.id.au>
- CC: Brad Kemper <brkemper@comcast.net>, www-style <www-style@w3.org>
Lachlan Hunt wrote: > > Brad Kemper wrote: >> On Jul 13, 2008, at 3:59 PM, Lachlan Hunt wrote: >>> foo.querySelector(":context div div") >> >> But wouldn't (or couldn't) that second one be the same as this: >> >> foo.querySelector(":root div div") >> >> Then the first one would include divs that were ancestors and/or >> descendants of the "foo" fragment. > > No. I already clearly explained several times why :root cannot and will > not be redefined. > > http://lists.w3.org/Archives/Public/www-style/2008Jul/0197.html > http://lists.w3.org/Archives/Public/www-style/2008Jul/0203.html > http://lists.w3.org/Archives/Public/www-style/2008Jul/0221.html > If your goal to implement scoped lookup then your :context/:scope elements are *mutually exclusive* with the :root. Either one shall appear in the selector. Appearance of both will make selector always invalid. With only one obvious exception. foo.querySelector(":root :scope div") will simply not work. So while defining :scope or whatever you shall mention that 1) :root is disabled in that selectors. 2) You shall explain to people that: a) ":scope is such a :root" b) in scoped style sheets they shall use only ":scope" but in ordinary style sheets they shall use only ":root" So effectively by introducing :scope you are making two versions/ sets of the CSS - one set can use only :root another one can use only :scope. -- Andrew Fedoniouk. http://terrainformatica.com
Received on Monday, 14 July 2008 16:56:34 UTC